]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/exportfs/exportfs.c
Extend the exportfs interface to pass fslocations info into the kernel.
[nfs-utils.git] / utils / exportfs / exportfs.c
index c3ba9970dd29bf7001eb5a4cb22bece67e1623e0..40a6b56bc9fa15ccfe611af7d39ea728400f4295 100644 (file)
@@ -404,6 +404,8 @@ dump(int verbose)
                                c = dumpopt(c, "no_acl");
                        if (ep->e_flags & NFSEXP_FSID)
                                c = dumpopt(c, "fsid=%d", ep->e_fsid);
+                       if (ep->e_uuid)
+                               c = dumpopt(c, "fsid=%s", ep->e_uuid);
                        if (ep->e_mountpoint)
                                c = dumpopt(c, "mountpoint%s%s", 
                                            ep->e_mountpoint[0]?"=":"", 
@@ -412,11 +414,23 @@ dump(int verbose)
                                c = dumpopt(c, "mapping=ugidd");
                        else if (ep->e_maptype == CLE_MAP_FILE)
                                c = dumpopt(c, "mapping=file");
-                       if (ep->e_anonuid != -2)
+                       if (ep->e_anonuid != 65534)
                                c = dumpopt(c, "anonuid=%d", ep->e_anonuid);
-                       if (ep->e_anongid != -2)
+                       if (ep->e_anongid != 65534)
                                c = dumpopt(c, "anongid=%d", ep->e_anongid);
-
+                       switch(ep->e_fslocmethod) {
+                       case FSLOC_NONE:
+                               break;
+                       case FSLOC_REFER:
+                               c = dumpopt(c, "refer=%s", ep->e_fslocdata);
+                               break;
+                       case FSLOC_REPLICA:
+                               c = dumpopt(c, "replicas=%s", ep->e_fslocdata);
+                               break;
+                       case FSLOC_STUB:
+                               c = dumpopt(c, "fsloc=stub");
+                               break;
+                       }
                        printf("%c\n", (c != '(')? ')' : ' ');
                }
        }