Re: [PATCH] NFS: LOOKUP_DIRECTORY is also ok with symlinks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11.02.22 11:55, Paul Menzel wrote:
> #regzbot monitor:
> https://lore.kernel.org/linux-nfs/20220208183823.1391397-1-trondmy@xxxxxxxxxx/

Thx for trying, but that failed (as is unneeded, see below): regzbot
can't determine which of the tracked regression might be meant here, so
it can't associate it with your report.

> Am 09.02.22 um 23:02 schrieb Paul Menzel:
> 
>> Am 08.02.22 um 19:38 schrieb trondmy@xxxxxxxxxx:
>>> From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
>>>
>>> Commit ac795161c936 (NFSv4: Handle case where the lookup of a directory
>>> fails) [1], part of Linux since 5.17-rc2, introduced a regression, where
>>> a symbolic link on an NFS mount to a directory on another NFS does not
>>> resolve(?) the first time it is accessed:
>>>
>>> Reported-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx>
>>> Fixes: ac795161c936 ("NFSv4: Handle case where the lookup of a
>>> directory fails")
>>> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
>>
>> Thank you for fixing it so quickly. My colleague verified, that it
>> fixes our issue.
>>
>> Tested-by: Donald Buczek <buczek@xxxxxxxxxxxxx>
> 
> Also for regzbot:
> 
> Link:
> https://lore.kernel.org/linux-nfs/0235e04a-18aa-ccbf-f520-38a2d55e8b54@xxxxxxxxxxxxx/

Hmmm, regzbot from this could in theory be modified to determine which
regression was meant, but right now regzbot processes commands
sequentially, so in this order it wouldn't work anyway.

But there is a bigger problem: that link points to a reply to your
report, not the report. I guess I can modify regzbot to handle such
cases, but I have more pressing issue right now, sorry. But I'll keep it
in mind.

The right link tag one would have been:

Link:
https://lore.kernel.org/r/bd2075f0-2343-5bfa-83bf-0e916303727d@xxxxxxxxxxxxx/

(s!/r/!/linux-nfs/! would have worked for regzbot as well)

Trond, can you please add this tag to your patch in case you respin it,
as explained, as explained in
'Documentation/process/submitting-patches.rst' and
'Documentation/process/5.Posting.rst'.

BTW, paul: Regzbot will monitor every subthread with a proper link tag
(like I gave above), so there is no need for a "#regzbot monitor" in
anyway if developers would just place the tags as the documentation states.

Ciao, Thorsten


>>> ---
>>>   fs/nfs/dir.c | 4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
>>> index e128503728f2..6dee4e12d381 100644
>>> --- a/fs/nfs/dir.c
>>> +++ b/fs/nfs/dir.c
>>> @@ -2051,14 +2051,14 @@ int nfs_atomic_open(struct inode *dir, struct
>>> dentry *dentry,
>>>       if (!res) {
>>>           inode = d_inode(dentry);
>>>           if ((lookup_flags & LOOKUP_DIRECTORY) && inode &&
>>> -            !S_ISDIR(inode->i_mode))
>>> +            !(S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)))
>>>               res = ERR_PTR(-ENOTDIR);
>>>           else if (inode && S_ISREG(inode->i_mode))
>>>               res = ERR_PTR(-EOPENSTALE);
>>>       } else if (!IS_ERR(res)) {
>>>           inode = d_inode(res);
>>>           if ((lookup_flags & LOOKUP_DIRECTORY) && inode &&
>>> -            !S_ISDIR(inode->i_mode)) {
>>> +            !(S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))) {
>>>               dput(res);
>>>               res = ERR_PTR(-ENOTDIR);
>>>           } else if (inode && S_ISREG(inode->i_mode)) {
> 
> 



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux