]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Small cleanup of nfsd export checks
authorChristoph Hellwig <hch@infradead.org>
Sat, 18 May 2002 05:03:45 +0000 (22:03 -0700)
committerChristoph Hellwig <hch@sb.bsdonline.org>
Sat, 18 May 2002 05:03:45 +0000 (22:03 -0700)
Separate checks for !FS_REQUIRES_DEV and missing fsid option
and missing export operations, second check for missing export
operations and a small cleanup as side effect.

fs/nfsd/export.c

index 2c7a0dfaa542f4f4685d22c013bc0bbe48bf7020..936781bb107bbb3875fdb19839371f16735d1c78 100644 (file)
@@ -315,17 +315,19 @@ exp_export(struct nfsctl_export *nxp)
         * 2:  We must be able to find an inode from a filehandle.
         *       This means that s_export_op must be set.
         */
-       if (((inode->i_sb->s_type->fs_flags & FS_REQUIRES_DEV)
-            || (nxp->ex_flags & NFSEXP_FSID))
-           &&
-           inode->i_sb->s_export_op)
-               /* Ok, we can export it */;
-       else {
+       if (!(inode->i_sb->s_type->fs_flags & FS_REQUIRES_DEV)) {
+               if (!(nxp->ex_flags & NFSEXP_FSID)) {
+                       dprintk("exp_export: export of non-dev fs without fsid");
+                       goto finish;
+               }
+       }
+       if (!inode->i_sb->s_export_op) {
                dprintk("exp_export: export of invalid fs type.\n");
                goto finish;
        }
-       if (inode->i_sb->s_export_op &&
-           !inode->i_sb->s_export_op->find_exported_dentry)
+
+       /* Ok, we can export it */;
+       if (!inode->i_sb->s_export_op->find_exported_dentry)
                inode->i_sb->s_export_op->find_exported_dentry =
                        find_exported_dentry;