Re: [PATCH 1/1] NFSv4.1 fs_locations compound request fileid

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

 



On Jun 2, 2011, at 12:14 PM, Trond Myklebust wrote:

> On Thu, 2011-06-02 at 11:17 -0400, andros@xxxxxxxxxx wrote: 
>> From: Andy Adamson <andros@xxxxxxxxxx>
>> 
>> Commit 28331a46d88459788c8fca72dbb0415cd7f514c9 "Ensure we request the
>> ordinary fileid when doing readdirplus"
>> changed the meaning of NFS_ATTR_FATTR_FILEID which used to be set when
>> FATTR4_WORD1_MOUNTED_ON_FILED was requested. Request FATTR4_WORD0_FILEID
>> in the nfs4_proc_fs_locations GETATTR so that nfs_fhget succeeds and
>> the referral is mounted.
>> 
>> Signed-off-by: Andy Adamson <andros@xxxxxxxxxx>
>> ---
>> fs/nfs/nfs4proc.c |    3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)
>> 
>> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
>> index d2c4b59..d99c5f8 100644
>> --- a/fs/nfs/nfs4proc.c
>> +++ b/fs/nfs/nfs4proc.c
>> @@ -4685,7 +4685,8 @@ int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name,
>> {
>> 	struct nfs_server *server = NFS_SERVER(dir);
>> 	u32 bitmask[2] = {
>> -		[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
>> +		[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS |
>> +		      FATTR4_WORD0_FILEID,
>> 		[1] = FATTR4_WORD1_MOUNTED_ON_FILEID,
>> 	};
>> 	struct nfs4_fs_locations_arg args = {
> 
> Nope. We can't do this...
> 
> The ordinary fileid is _not_ supposed to be supported for an absent
> filesystem. See RFC3530bis, section 7.3.1.
> 
> The correct thing to do here is rather to allow the nfs_fhget() to
> succeed with only a mounted_on_fileid if (and only if!)
> NFS_ATTR_FATTR_MOUNTPOINT or NFS_ATTR_FATTR_V4_REFERRAL are set.

Ahh. OK - WIll do.

-->Andy
> 
> Cheers
>  Trond
> 
> -- 
> Trond Myklebust
> Linux NFS client maintainer
> 
> NetApp
> Trond.Myklebust@xxxxxxxxxx
> www.netapp.com
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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