Re: Problems with NFS exports

From: Florian Weimer (fw@deneb.enyo.de)
Date: Wed Aug 07 2002 - 04:25:33 EST


Florian Weimer <fw@deneb.enyo.de> writes:

> I'm seeing weired errors with nfsctl():
>
> This works:
>
> nfsservctl(NFSCTL_EXPORT, "deneb.enyo.de", "/mnt/storage/2/backup/deneb/tmp", makedev(3, 66), ino 167772288, uid 65534, gid 65534) = 0
>
> But a subsequent call fails:
>
> nfsservctl(NFSCTL_EXPORT, "deneb.enyo.de", "/mnt/storage/2/backup/deneb", makedev(3, 66), ino 150995072, uid 65534, gid 65534) = -1 EINVAL (Invalid argument)
>
> I don't understand what makes the difference (the inode values are
> correct). This is kernel 2.4.18 with XFS support, and the directory
> resides on an XFS file system.
>
> Any ideas?

(Full quote because of additional recipeint.)

It appears that a directory tree can only be exported once. Is this
intentional? If yes, the following patch should be applied (to
linux/fs/nfsd/export.c), so that the return value is more meaningful:

--- export.c 2002/08/07 09:22:11 1.1
+++ export.c 2002/08/07 09:22:28
@@ -219,6 +219,7 @@
                 goto finish;
         }
 
+ err = -EBUSY;
         if ((parent = exp_child(clp, dev, nd.dentry)) != NULL) {
                 dprintk("exp_export: export not valid (Rule 3).\n");
                 goto finish;

After this change, the userspace tools can issue are more meaningful
error message for this case.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Aug 07 2002 - 22:00:35 EST