Re: [PATCH 03/17] NFSDv4.2: Added NFS v4.2 support to the NFS server

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

 



On Thu, Apr 25, 2013 at 10:10:52AM -0400, Steve Dickson wrote:
> On 24/04/13 18:02, J. Bruce Fields wrote:
> > On Wed, Apr 24, 2013 at 04:17:49PM -0400, Steve Dickson wrote:
> >> From: Steve Dickson <steved@xxxxxxxxxx>
> >>
> >> This enable NFSv4.2 support for the server. To enable this
> >> code do the following:
> >>   echo "+4.2" >/proc/fs/nfsd/versions
> >>
> >> after the nfsd kernel module is loaded.
> >>
> >> Signed-off-by: Steve Dickson <steved@xxxxxxxxxx>
> >> ---
> >>  fs/nfsd/nfs4xdr.c | 1 +
> >>  fs/nfsd/nfsd.h    | 7 ++++++-
> >>  2 files changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
> >> index a272007..b38de7a 100644
> >> --- a/fs/nfsd/nfs4xdr.c
> >> +++ b/fs/nfsd/nfs4xdr.c
> >> @@ -1572,6 +1572,7 @@ struct nfsd4_minorversion_ops {
> >>  static struct nfsd4_minorversion_ops nfsd4_minorversion[] = {
> >>  	[0] = { nfsd4_dec_ops, ARRAY_SIZE(nfsd4_dec_ops) },
> >>  	[1] = { nfsd41_dec_ops, ARRAY_SIZE(nfsd41_dec_ops) },
> >> +	[2] = { nfsd41_dec_ops, ARRAY_SIZE(nfsd41_dec_ops) },
> >>  };
> >>  
> >>  static __be32
> >> diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h
> >> index 553b230..b5eade7 100644
> >> --- a/fs/nfsd/nfsd.h
> >> +++ b/fs/nfsd/nfsd.h
> >> @@ -24,7 +24,7 @@
> >>  /*
> >>   * nfsd version
> >>   */
> >> -#define NFSD_SUPPORTED_MINOR_VERSION	1
> >> +#define NFSD_SUPPORTED_MINOR_VERSION	2
> >>  /*
> >>   * Maximum blocksizes supported by daemon under various circumstances.
> >>   */
> > 
> > These last two chunks belong with a later patch, whenever we make other
> > 4.2 attribute changes:
> I'm a bit confused by this request... 
> 
> The purpose of this patch is to allow echo "+4.2" >/proc/fs/nfsd/versions 
> to work. Basically enabling the setting of the v4.2. Without the above two chunks 
> that echo will fail which means v4.2 can not be set.

Right by "last two chunks" I meant the below.--b.

> 
> Plus the two chunks below are where the generic 4.2 attribute changes are 
> made:
> >> @@ -328,6 +328,8 @@ void		nfsd_lockd_shutdown(void);
> >>  #define NFSD4_1_SUPPORTED_ATTRS_WORD2 \
> >>  	(NFSD4_SUPPORTED_ATTRS_WORD2 | FATTR4_WORD2_SUPPATTR_EXCLCREAT)
> >>  
> >> +#define NFSD4_2_SUPPORTED_ATTRS_WORD2 0
> >> +
> >>  static inline u32 nfsd_suppattrs0(u32 minorversion)
> >>  {
> >>  	return minorversion ? NFSD4_1_SUPPORTED_ATTRS_WORD0
> >> @@ -342,6 +344,9 @@ static inline u32 nfsd_suppattrs1(u32 minorversion)
> >>  
> >>  static inline u32 nfsd_suppattrs2(u32 minorversion)
> >>  {
> >> +	if (minorversion == 2)
> >> +		return NFSD4_2_SUPPORTED_ATTRS_WORD2;
> >> +
> >>  	return minorversion ? NFSD4_1_SUPPORTED_ATTRS_WORD2
> >>  			    : NFSD4_SUPPORTED_ATTRS_WORD2;
> >>  }
> Now in the [PATCH 16/17] NFSD: Server implementation of MAC Labeling
> patch is where the definition of NFSD4_2_SUPPORTED_ATTRS_WORD2
> changes when labels are enabled.
> 
> So it seems to me this patch does want you wanted it to do.
> Enable the setting of v4.2 and only return 4.2 attributes 
> on a v4.2 mount. It's just at this point there are no 4.2
> attributes defined...
> 
> What am I missing?
> 
> steved.
>  
>  
--
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