lkml.org 
[lkml]   [2023]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: autofs: add autofs_parse_fd()
From
On 20/10/23 19:23, Arnd Bergmann wrote:
> On Fri, Oct 20, 2023, at 12:45, Dan Carpenter wrote:
>> On Fri, Oct 20, 2023 at 11:55:57AM +0200, Anders Roxell wrote:
>>> On Fri, 20 Oct 2023 at 08:37, Arnd Bergmann <arnd@arndb.de> wrote:
>>>> On Thu, Oct 19, 2023, at 17:27, Naresh Kamboju wrote:
>>>>> The qemu-x86_64 and x86_64 booting with 64bit kernel and 32bit rootfs we call
>>>>> it as compat mode boot testing. Recently it started to failed to get login
>>>>> prompt.
>>>>>
>>>>> We have not seen any kernel crash logs.
>>>>>
>>>>> Anders, bisection is pointing to first bad commit,
>>>>> 546694b8f658 autofs: add autofs_parse_fd()
>>>>>
>>>>> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
>>>>> Reported-by: Anders Roxell <anders.roxell@linaro.org>
>>>> I tried to find something in that commit that would be different
>>>> in compat mode, but don't see anything at all -- this appears
>>>> to be just a simple refactoring of the code, unlike the commits
>>>> that immediately follow it and that do change the mount
>>>> interface.
>>>>
>>>> Unfortunately this makes it impossible to just revert the commit
>>>> on top of linux-next. Can you double-check your bisection by
>>>> testing 546694b8f658 and the commit before it again?
>>> I tried these two patches again:
>>> 546694b8f658 ("autofs: add autofs_parse_fd()") - doesn't boot
>>> bc69fdde0ae1 ("autofs: refactor autofs_prepare_pipe()") - boots
>>>
>> One difference that I notice between those two patches is that we no
>> long call autofs_prepare_pipe(). We just call autofs_check_pipe().
> Indeed, so some of the f_flags end up being different. I assumed
> this was done intentionally, but it might be worth checking if
> the patch below makes any difference when the flags get put
> back the way they were. This is probably not the correct fix, but
> may help figure out what is going on. It should apply to anything
> from 546694b8f658 ("autofs: add autofs_parse_fd()") to the current
> linux-next:
>
> --- a/fs/autofs/inode.c
> +++ b/fs/autofs/inode.c
> @@ -358,6 +358,11 @@ static int autofs_fill_super(struct super_block *s, struct fs_context *fc)
> pr_debug("pipe fd = %d, pgrp = %u\n",
> sbi->pipefd, pid_nr(sbi->oz_pgrp));
>
> + /* We want a packet pipe */
> + sbi->pipe->f_flags |= O_DIRECT;
> + /* We don't expect -EAGAIN */
> + sbi->pipe->f_flags &= ~O_NONBLOCK;
> +


That makes sense, we do want a packet pipe and that does also mean

we don't want a non-blocking pipe, it will be interesting to see

if that makes a difference. It's been a long time since Linus

implemented that packet pipe and I can't remember now what the

case was that lead to it.


Ian

> sbi->flags &= ~AUTOFS_SBI_CATATONIC;
>
> /*

\
 
 \ /
  Last update: 2023-10-20 15:11    [W:0.103 / U:0.580 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site