Re: [PATCH] nfsd: Fix v2-only build regression
On 16/02/15 11:54, Arnd Bergmann wrote: > On Monday 16 February 2015 11:36:03 Daniel Thompson wrote: >> Currently if nfsd is configured as v2 only then the kernel fails to build. >> This is a regression introduced by 9cf514ccfacb("nfsd: implement pNFS >> operations"). It occurs because inline code from the xdr4.h header is >> now included from generic nfsd code (via pnfs.h). >> >> This patch takes the simplest route and makes conditional the problematic >> inline function. >> >> Note: I also tried extending the #ifdef CONFIG_NFSD_PNFS to cover almost >> all of the pnfs.h header file. That works great too but feels more >> invasive. However I can dust this off if that were preferable for >> any reason. >> > > I believe this was fixed last Friday in the patch below. Do you still > see the problem on today's linux-next? Thanks Arnd. I overlooked this patch (which didn't pop out very clearly in the google searches I did). It is fixed in linux-next. Daniel. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] nfsd: Fix v2-only build regression
On Monday 16 February 2015 11:36:03 Daniel Thompson wrote: > Currently if nfsd is configured as v2 only then the kernel fails to build. > This is a regression introduced by 9cf514ccfacb("nfsd: implement pNFS > operations"). It occurs because inline code from the xdr4.h header is > now included from generic nfsd code (via pnfs.h). > > This patch takes the simplest route and makes conditional the problematic > inline function. > > Note: I also tried extending the #ifdef CONFIG_NFSD_PNFS to cover almost > all of the pnfs.h header file. That works great too but feels more > invasive. However I can dust this off if that were preferable for > any reason. > I believe this was fixed last Friday in the patch below. Do you still see the problem on today's linux-next? Arnd commit 3cd9ac34d50121470859bc3fe7eddbd2d498f374 Author: J. Bruce Fields Date: Fri Feb 13 12:34:25 2015 -0500 nfsd4: fix v3-less build Includes of pnfs.h in export.c and fcntl.c also bring in xdr4.h, which won't build without CONFIG_NFSD_V3, breaking non-V3 builds. Ifdef-out most of pnfs.h in that case. Reported-by: Bas Peters Reported-by: Jim Davis Fixes: 9cf514ccfac "nfsd: implement pNFS operations" Signed-off-by: J. Bruce Fields diff --git a/fs/nfsd/pnfs.h b/fs/nfsd/pnfs.h index fedb4d620a81..d4c4453674c6 100644 --- a/fs/nfsd/pnfs.h +++ b/fs/nfsd/pnfs.h @@ -1,6 +1,7 @@ #ifndef _FS_NFSD_PNFS_H #define _FS_NFSD_PNFS_H 1 +#ifdef CONFIG_NFSD_V4 #include #include @@ -50,6 +51,7 @@ __be32 nfsd4_return_client_layouts(struct svc_rqst *rqstp, int nfsd4_set_deviceid(struct nfsd4_deviceid *id, const struct svc_fh *fhp, u32 device_generation); struct nfsd4_deviceid_map *nfsd4_find_devid_map(int idx); +#endif /* CONFIG_NFSD_V4 */ #ifdef CONFIG_NFSD_PNFS void nfsd4_setup_layout_type(struct svc_export *exp); @@ -59,6 +61,9 @@ void nfsd4_return_all_file_layouts(struct nfs4_client *clp, int nfsd4_init_pnfs(void); void nfsd4_exit_pnfs(void); #else +struct nfs4_client; +struct nfs4_file; + static inline void nfsd4_setup_layout_type(struct svc_export *exp) { } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] nfsd: Fix v2-only build regression
On 16/02/15 11:54, Arnd Bergmann wrote: On Monday 16 February 2015 11:36:03 Daniel Thompson wrote: Currently if nfsd is configured as v2 only then the kernel fails to build. This is a regression introduced by 9cf514ccfacb(nfsd: implement pNFS operations). It occurs because inline code from the xdr4.h header is now included from generic nfsd code (via pnfs.h). This patch takes the simplest route and makes conditional the problematic inline function. Note: I also tried extending the #ifdef CONFIG_NFSD_PNFS to cover almost all of the pnfs.h header file. That works great too but feels more invasive. However I can dust this off if that were preferable for any reason. I believe this was fixed last Friday in the patch below. Do you still see the problem on today's linux-next? Thanks Arnd. I overlooked this patch (which didn't pop out very clearly in the google searches I did). It is fixed in linux-next. Daniel. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] nfsd: Fix v2-only build regression
On Monday 16 February 2015 11:36:03 Daniel Thompson wrote: Currently if nfsd is configured as v2 only then the kernel fails to build. This is a regression introduced by 9cf514ccfacb(nfsd: implement pNFS operations). It occurs because inline code from the xdr4.h header is now included from generic nfsd code (via pnfs.h). This patch takes the simplest route and makes conditional the problematic inline function. Note: I also tried extending the #ifdef CONFIG_NFSD_PNFS to cover almost all of the pnfs.h header file. That works great too but feels more invasive. However I can dust this off if that were preferable for any reason. I believe this was fixed last Friday in the patch below. Do you still see the problem on today's linux-next? Arnd commit 3cd9ac34d50121470859bc3fe7eddbd2d498f374 Author: J. Bruce Fields bfie...@redhat.com Date: Fri Feb 13 12:34:25 2015 -0500 nfsd4: fix v3-less build Includes of pnfs.h in export.c and fcntl.c also bring in xdr4.h, which won't build without CONFIG_NFSD_V3, breaking non-V3 builds. Ifdef-out most of pnfs.h in that case. Reported-by: Bas Peters baspeter...@gmail.com Reported-by: Jim Davis jim.ep...@gmail.com Fixes: 9cf514ccfac nfsd: implement pNFS operations Signed-off-by: J. Bruce Fields bfie...@redhat.com diff --git a/fs/nfsd/pnfs.h b/fs/nfsd/pnfs.h index fedb4d620a81..d4c4453674c6 100644 --- a/fs/nfsd/pnfs.h +++ b/fs/nfsd/pnfs.h @@ -1,6 +1,7 @@ #ifndef _FS_NFSD_PNFS_H #define _FS_NFSD_PNFS_H 1 +#ifdef CONFIG_NFSD_V4 #include linux/exportfs.h #include linux/nfsd/export.h @@ -50,6 +51,7 @@ __be32 nfsd4_return_client_layouts(struct svc_rqst *rqstp, int nfsd4_set_deviceid(struct nfsd4_deviceid *id, const struct svc_fh *fhp, u32 device_generation); struct nfsd4_deviceid_map *nfsd4_find_devid_map(int idx); +#endif /* CONFIG_NFSD_V4 */ #ifdef CONFIG_NFSD_PNFS void nfsd4_setup_layout_type(struct svc_export *exp); @@ -59,6 +61,9 @@ void nfsd4_return_all_file_layouts(struct nfs4_client *clp, int nfsd4_init_pnfs(void); void nfsd4_exit_pnfs(void); #else +struct nfs4_client; +struct nfs4_file; + static inline void nfsd4_setup_layout_type(struct svc_export *exp) { } -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/