diff --git a/nfs-utils-1.1.1-fsloc-nohide.patch b/nfs-utils-1.1.1-fsloc-nohide.patch new file mode 100644 index 0000000..9dfe426 --- /dev/null +++ b/nfs-utils-1.1.1-fsloc-nohide.patch @@ -0,0 +1,73 @@ +diff -up nfs-utils-1.1.1/utils/mountd/cache.c.orig nfs-utils-1.1.1/utils/mountd/cache.c +--- nfs-utils-1.1.1/utils/mountd/cache.c.orig 2007-10-18 23:07:28.000000000 -0400 ++++ nfs-utils-1.1.1/utils/mountd/cache.c 2008-01-07 14:05:16.000000000 -0500 +@@ -81,6 +81,8 @@ void auth_unix_ip(FILE *f) + if (readline(fileno(f), &lbuf, &lbuflen) != 1) + return; + ++ xlog(D_CALL, "auth_unix_ip: inbuf '%s'", lbuf); ++ + cp = lbuf; + + if (qword_get(&cp, class, 20) <= 0 || +@@ -109,6 +111,7 @@ void auth_unix_ip(FILE *f) + else if (client) + qword_print(f, *client?client:"DEFAULT"); + qword_eol(f); ++ xlog(D_CALL, "auth_unix_ip: client %p '%s'", client, *client?client: "DEFAULT"); + + if (client) free(client); + free(he); +@@ -282,8 +285,10 @@ void nfsd_fh(FILE *f) + if (readline(fileno(f), &lbuf, &lbuflen) != 1) + return; + +- cp = lbuf; ++ xlog(D_CALL, "nfsd_fh: inbuf '%s'", lbuf); + ++ cp = lbuf; ++ + dom = malloc(strlen(cp)); + if (dom == NULL) + return; +@@ -514,6 +519,7 @@ void nfsd_fh(FILE *f) + free(found_path); + free(he); + free(dom); ++ xlog(D_CALL, "nfsd_fh: found %p path %s", found, found ? found->e_path : NULL); + return; + } + +@@ -607,6 +613,8 @@ void nfsd_export(FILE *f) + if (readline(fileno(f), &lbuf, &lbuflen) != 1) + return; + ++ xlog(D_CALL, "nfsd_export: inbuf '%s'", lbuf); ++ + cp = lbuf; + dom = malloc(strlen(cp)); + path = malloc(strlen(cp)); +@@ -686,6 +694,7 @@ void nfsd_export(FILE *f) + dump_to_cache(f, dom, path, NULL); + } + out: ++ xlog(D_CALL, "nfsd_export: found %p path %s", found, path ? path : NULL); + if (dom) free(dom); + if (path) free(path); + if (he) free(he); +diff -up nfs-utils-1.1.1/support/nfs/exports.c.orig nfs-utils-1.1.1/support/nfs/exports.c +--- nfs-utils-1.1.1/support/nfs/exports.c.orig 2008-01-07 14:03:36.000000000 -0500 ++++ nfs-utils-1.1.1/support/nfs/exports.c 2008-01-07 14:05:16.000000000 -0500 +@@ -641,6 +641,12 @@ bad_option: + while (isblank(*cp)) + cp++; + } ++ /* ++ * Turn on nohide which will allow this export to cross over ++ * the 'mount --bind' mount point. ++ */ ++ if (ep->e_fslocdata) ++ ep->e_flags |= NFSEXP_NOHIDE; + + for (p = ep->e_secinfo; p->flav; p++) + p->flags |= ep->e_flags & ~NFSEXP_SECINFO_FLAGS; diff --git a/nfs-utils.spec b/nfs-utils.spec index fe700d1..717e308 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -31,6 +31,7 @@ Patch05: nfs-utils-1.1.0-exportfs-open.patch Patch06: nfs-utils-1.1.0-exportfs-man-update.patch Patch07: nfs-utils-1.1.0-nfs-man.patch Patch08: nfs-utils-1.1.1-mountd-man.patch +Patch09: nfs-utils-1.1.1-fsloc-nohide.patch %if %{enablefscache} Patch90: nfs-utils-1.1.0-mount-fsc.patch @@ -92,6 +93,7 @@ This package also contains the mount.nfs and umount.nfs program. %patch06 -p1 %patch07 -p1 %patch08 -p1 +%patch09 -p1 %if %{enablefscache} %patch90 -p1 @@ -268,6 +270,7 @@ fi - Changed spec file to use condrestart instead of condstop when calling init scripts. - Fixed typo in rpc.mountd man page +- Turn on 'nohide' automatically for all refer exports (bz 313561) * Tue Dec 04 2007 Release Engineering - 1.1.0-7 - Rebuild for openldap bump