Re: [nfs] Oops during call nfs_mountpoint_inode_operations->lookup() method

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

 



Hello!
2011/1/18 Al Viro <viro@xxxxxxxxxxxxxxxxxx>:

>>  const struct inode_operations nfs_referral_inode_operations = {
>>       .follow_link    = nfs_follow_mountpoint,
>> +#ifdef CONFIG_NFS_V4
>> +     .lookup         = nfs_atomic_lookup,
>> +#endif
>>  };
>
> That looks very wrong.  You are papering over the real problem here - ask
> yourself what would that ->lookup() be expected to do?

That ->lookup() have to search first directory name in Exported path on
 NFS server.  However,  maybe it is not that expected...

>
> The thing is, we shouldn't end up trying to call ->lookup() for those.

lookup() method is called always. But method is called from
nfs_dir_inode_operations.

Correct sequence:         nfs_follow_remote_path-> vfs_path_lookup->do_lookup->

->nfs_lookup->nfs_fhget->"reset i_op"->follow_link
Incorrect sequence:       nfs4_get_root->nfs_fhget->"reset
i_op"->vfs_path_lookup->do_lookup

The problem is in that nfs_fhget resets i_op  and then vfs_path_lookup
is called.

> That's the real issue...

Do you mean that we need to ignore updated attribute fsid for remote
ROOT at  nfs4_get_root() ?
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux