2009-01-11 19:14:25

by Qinghuang Feng

[permalink] [raw]
Subject: [PATCH] NFSD: cleanup for nfs3proc.c

MSDOS_SUPER_MAGIC is defined in <linux/magic.h>,
so use MSDOS_SUPER_MAGIC directly.

Signed-off-by: Qinghuang Feng <[email protected]>
---
diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c
index 9dbd2eb..579ce8c 100644
--- a/fs/nfsd/nfs3proc.c
+++ b/fs/nfsd/nfs3proc.c
@@ -18,6 +18,7 @@
#include <linux/unistd.h>
#include <linux/slab.h>
#include <linux/major.h>
+#include <linux/magic.h>

#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsd.h>
@@ -569,7 +570,7 @@ nfsd3_proc_fsinfo(struct svc_rqst * rqstp, struct nfsd_fhandle *argp,
struct super_block *sb = argp->fh.fh_dentry->d_inode->i_sb;

/* Note that we don't care for remote fs's here */
- if (sb->s_magic == 0x4d44 /* MSDOS_SUPER_MAGIC */) {
+ if (sb->s_magic == MSDOS_SUPER_MAGIC) {
resp->f_properties = NFS3_FSF_BILLYBOY;
}
resp->f_maxfilesize = sb->s_maxbytes;
@@ -610,7 +611,7 @@ nfsd3_proc_pathconf(struct svc_rqst * rqstp, struct nfsd_fhandle *argp,
resp->p_link_max = EXT2_LINK_MAX;
resp->p_name_max = EXT2_NAME_LEN;
break;
- case 0x4d44: /* MSDOS_SUPER_MAGIC */
+ case MSDOS_SUPER_MAGIC:
resp->p_case_insensitive = 1;
resp->p_case_preserving = 0;
break;


2009-01-12 01:12:43

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] NFSD: cleanup for nfs3proc.c

On Mon, Jan 12, 2009 at 03:13:53AM +0800, Qinghuang Feng wrote:
> MSDOS_SUPER_MAGIC is defined in <linux/magic.h>,
> so use MSDOS_SUPER_MAGIC directly.

Thanks. But does anyone know if there's any better way to figure out
whether a filesystem supports links and symlinks than by checking
s_magic == MSDOS_SUPER_MAGIC??

--b.

>
> Signed-off-by: Qinghuang Feng <[email protected]>
> ---
> diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c
> index 9dbd2eb..579ce8c 100644
> --- a/fs/nfsd/nfs3proc.c
> +++ b/fs/nfsd/nfs3proc.c
> @@ -18,6 +18,7 @@
> #include <linux/unistd.h>
> #include <linux/slab.h>
> #include <linux/major.h>
> +#include <linux/magic.h>
>
> #include <linux/sunrpc/svc.h>
> #include <linux/nfsd/nfsd.h>
> @@ -569,7 +570,7 @@ nfsd3_proc_fsinfo(struct svc_rqst * rqstp, struct nfsd_fhandle *argp,
> struct super_block *sb = argp->fh.fh_dentry->d_inode->i_sb;
>
> /* Note that we don't care for remote fs's here */
> - if (sb->s_magic == 0x4d44 /* MSDOS_SUPER_MAGIC */) {
> + if (sb->s_magic == MSDOS_SUPER_MAGIC) {
> resp->f_properties = NFS3_FSF_BILLYBOY;
> }
> resp->f_maxfilesize = sb->s_maxbytes;
> @@ -610,7 +611,7 @@ nfsd3_proc_pathconf(struct svc_rqst * rqstp, struct nfsd_fhandle *argp,
> resp->p_link_max = EXT2_LINK_MAX;
> resp->p_name_max = EXT2_NAME_LEN;
> break;
> - case 0x4d44: /* MSDOS_SUPER_MAGIC */
> + case MSDOS_SUPER_MAGIC:
> resp->p_case_insensitive = 1;
> resp->p_case_preserving = 0;
> break;
>

2009-01-12 08:03:37

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] NFSD: cleanup for nfs3proc.c

On Sun, Jan 11, 2009 at 08:12:31PM -0500, J. Bruce Fields wrote:
> On Mon, Jan 12, 2009 at 03:13:53AM +0800, Qinghuang Feng wrote:
> > MSDOS_SUPER_MAGIC is defined in <linux/magic.h>,
> > so use MSDOS_SUPER_MAGIC directly.
>
> Thanks. But does anyone know if there's any better way to figure out
> whether a filesystem supports links and symlinks than by checking
> s_magic == MSDOS_SUPER_MAGIC??

Or case insenstivit or..

If we had a working pathconf syscall and inode operation that'd be
easy..