- Added -S/--since to the nfsstat(1) manpage

- The wording in the exportfs man page can be a bit confusing, implying
    that "exportfs -u :/foo" will unexport /foo from all hosts, which it
    won't
- Removed nfsprog option since the kernel no longer supports it.
- Removed mountprog option since the kernel no longer supports it.
- Stop segfaults on amd64 during warnings messages.
- Fix bug when both crossmnt and fsid are set.
This commit is contained in:
Steve Dickson 2008-01-22 19:36:09 +00:00
parent aa7cac06fc
commit 51df58e4d7
7 changed files with 257 additions and 4 deletions

View File

@ -0,0 +1,53 @@
commit efbda485ff5b3d5916971e1af656d2c21307af30
Author: Steve Dickson <steved@redhat.com>
Date: Sat Nov 3 09:14:57 2007 -0400
The wording in the exportfs man page can be a bit confusing, implying
that "exportfs -u :/foo" will unexport /foo from all hosts, which it won't.
This patch cleans that wording up and adds a couple examples on how to
unexport directories
Signed-off-by: Steinar H. Gunderson <sesse@debian.org>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff -up nfs-utils-1.1.1/utils/exportfs/exportfs.man.orig nfs-utils-1.1.1/utils/exportfs/exportfs.man
--- nfs-utils-1.1.1/utils/exportfs/exportfs.man.orig 2008-01-22 13:02:18.000000000 -0500
+++ nfs-utils-1.1.1/utils/exportfs/exportfs.man 2008-01-22 13:11:52.000000000 -0500
@@ -167,11 +167,13 @@ all entries listed in
are removed from the kernel export tables, and the file is cleared. This
effectively shuts down all NFS activity.
.P
-To remove individual export entries, one can specify a
+To remove individual export entries, specify a
.I host:/path
pair. This deletes the specified entry from
.B etab
and removes the corresponding kernel entry (if any).
+To remove one or more exports to several hosts, use
+.BR "exportfs -ua" .
.P
.\" -------------------- Dumping the Export Table -----------------
.SS Dumping the Export Table
@@ -202,6 +204,21 @@ allowing asynchronous writes, one would
.nf
.B "# exportfs -o async django:/usr/tmp
.fi
+.P
+To unexport the
+.B /usr/tmp
+directory:
+.P
+.nf
+.B "# exportfs -u django:/usr/tmp
+.fi
+.P
+To unexport all the directories listed in
+.B /etc/exports:
+.P
+.nf
+.B "# exportfs -au
+.fi
.\" -------------------- DEPENDENCIES -----------------------------
.SH DEPENDENCIES
Exporting to IP networks, DNS and NIS domains does not enable clients

View File

@ -0,0 +1,23 @@
commit 72ada109b86622db8009e774ebc96a7a92094e8a
Author: Steve Dickson <steved@redhat.com>
Date: Wed Jan 16 12:01:13 2008 -0500
The kernel doesn't support the underlying parts needed for changing the
MNT program number.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff -up nfs-utils-1.1.1/utils/mount/stropts.c.orig nfs-utils-1.1.1/utils/mount/stropts.c
--- nfs-utils-1.1.1/utils/mount/stropts.c.orig 2008-01-22 14:04:16.000000000 -0500
+++ nfs-utils-1.1.1/utils/mount/stropts.c 2008-01-22 14:09:54.000000000 -0500
@@ -304,9 +304,6 @@ static struct mount_options *rewrite_mou
if (option)
mnt_server.pmap.pm_port = atoi(option);
mnt_server.pmap.pm_prog = MOUNTPROG;
- option = po_get(options, "mountprog");
- if (option)
- mnt_server.pmap.pm_prog = atoi(option);
option = po_get(options, "mountvers");
if (option)
mnt_server.pmap.pm_vers = atoi(option);

View File

@ -0,0 +1,23 @@
commit 72bc295da78bafff92762b8afbb298ac16d1ff43
Author: Steve Dickson <steved@redhat.com>
Date: Wed Jan 16 12:00:32 2008 -0500
The kernel hasn't supported the underlying parts needed for changing the
NFS program number for a very long time.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff -up nfs-utils-1.1.1/utils/mount/stropts.c.orig nfs-utils-1.1.1/utils/mount/stropts.c
--- nfs-utils-1.1.1/utils/mount/stropts.c.orig 2007-10-18 23:07:28.000000000 -0400
+++ nfs-utils-1.1.1/utils/mount/stropts.c 2008-01-22 14:02:51.000000000 -0500
@@ -317,9 +317,6 @@ static struct mount_options *rewrite_mou
po_remove_all(options, "port");
}
nfs_server.pmap.pm_prog = NFS_PROGRAM;
- option = po_get(options, "nfsprog");
- if (option)
- nfs_server.pmap.pm_prog = atoi(option);
option = po_get(options, "nfsvers");
if (option) {

View File

@ -0,0 +1,45 @@
commit 2d77e3a27b7b211f303fcc3a813a044838dad970
Author: Steve Dickson <steved@redhat.com>
Date: Sat Jan 19 07:59:26 2008 -0500
Fix bug when both crossmnt and fsid are set.
When exported a filesystems with option inherited (by the crossmnt
option) from a higherlevel filesystem, ignore filesystem specific
options like FSID and explicit UUID.
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
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 2008-01-22 14:15:12.000000000 -0500
+++ nfs-utils-1.1.1/utils/mountd/cache.c 2008-01-22 14:16:48.000000000 -0500
@@ -571,20 +571,25 @@ static int dump_to_cache(FILE *f, char *
qword_print(f, path);
qword_printint(f, time(0)+30*60);
if (exp) {
- qword_printint(f, exp->e_flags);
+ int different_fs = strcmp(path, exp->e_path) != 0;
+
+ if (different_fs)
+ qword_printint(f, exp->e_flags & ~NFSEXP_FSID);
+ else
+ qword_printint(f, exp->e_flags);
qword_printint(f, exp->e_anonuid);
qword_printint(f, exp->e_anongid);
qword_printint(f, exp->e_fsid);
write_fsloc(f, exp, path);
write_secinfo(f, exp);
#if USE_BLKID
- if (exp->e_uuid == NULL) {
+ if (exp->e_uuid == NULL || different_fs) {
char u[16];
if (get_uuid(path, NULL, 16, u)) {
qword_print(f, "uuid");
qword_printhex(f, u, 16);
}
- } else if (exp->e_uuid) {
+ } else {
qword_print(f, "uuid");
qword_printhex(f, exp->e_uuid, 16);
}

View File

@ -0,0 +1,49 @@
commit b1e64b99a97b27d850d7a615b291aa9aeb2972ab
Author: Steve Dickson <steved@redhat.com>
Date: Fri Oct 26 07:57:10 2007 -0400
Added -S/--since to the nfsstat(1) manpage
Author: David Richter <richterd@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff -up nfs-utils-1.1.1/utils/nfsstat/nfsstat.man.orig nfs-utils-1.1.1/utils/nfsstat/nfsstat.man
--- nfs-utils-1.1.1/utils/nfsstat/nfsstat.man.orig 2007-10-18 23:07:28.000000000 -0400
+++ nfs-utils-1.1.1/utils/nfsstat/nfsstat.man 2008-01-22 12:57:08.000000000 -0500
@@ -72,8 +72,27 @@ Display all of the above facilities.
.B \-v, \-\-verbose
This is equivalent to \fB\-o all\fR.
.TP
+.BI "\-S, \-\-since " file
+Instead of printing current statistics,
+.B nfsstat
+imports statistics from
+.I file
+and displays the difference between those and the current statistics.
+Valid input
+.IR file "s may be in the form of "
+.B /proc/net/rpc/nfs
+(raw client stats),
+.B /proc/net/rpc/nfsd
+(raw server stats), or saved output from
+.B nfsstat
+itself (client and/or server stats). Any statistics missing from a saved
+.B nfsstat
+output
+.I file
+are treated as zeroes.
+.TP
.B \-Z, \-\-sleep
-Instead of printing statistics and immediately exiting,
+Instead of printing current statistics and immediately exiting,
.B nfsstat
takes a snapshot of the current statistics and pauses until it receives
.B SIGINT
@@ -81,6 +100,7 @@ takes a snapshot of the current statisti
.BR Ctrl-C ),
at which point it takes another snapshot and displays the difference
between the two.
+.\" --------------------- EXAMPLES -------------------------------
.SH EXAMPLES
.TP
.B nfsstat \-o all \-234

View File

@ -0,0 +1,42 @@
commit 399cc3dad0cdfe8dca4a0ae9035a0554d7223eb2
Author: Steve Dickson <steved@dickson.boston.devel.redhat.com>
Date: Thu Jan 17 11:25:37 2008 -0500
Stop segfaults on amd64 during warnings messages by creating
a second va_list in xlog_backend() and then use that va_list
to print messages on stderr.
Signed-off-by: Steinar H. Gunderson <sesse@debian.org>
Signed-off-by: Steve Langasek <vorlon@debian.org>
Signed-off-by: Steve Dickson <steved@dickson.boston.devel.redhat.com>
diff -up nfs-utils-1.1.1/support/nfs/xlog.c.orig nfs-utils-1.1.1/support/nfs/xlog.c
--- nfs-utils-1.1.1/support/nfs/xlog.c.orig 2007-10-18 23:07:28.000000000 -0400
+++ nfs-utils-1.1.1/support/nfs/xlog.c 2008-01-22 14:13:36.000000000 -0500
@@ -133,9 +133,14 @@ xlog_enabled(int fac)
void
xlog_backend(int kind, const char *fmt, va_list args)
{
+ va_list args2;
+
if (!(kind & (L_ALL)) && !(logging && (kind & logmask)))
return;
+ if (log_stderr)
+ va_copy(args2, args);
+
if (log_syslog) {
switch (kind) {
case L_FATAL:
@@ -171,9 +176,9 @@ xlog_backend(int kind, const char *fmt,
#else
fprintf(stderr, "%s: ", log_name);
#endif
-
- vfprintf(stderr, fmt, args);
+ vfprintf(stderr, fmt, args2);
fprintf(stderr, "\n");
+ va_end(args2);
}
if (kind == L_FATAL)

View File

@ -2,7 +2,7 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser
Name: nfs-utils
URL: http://sourceforge.net/projects/nfs
Version: 1.1.1
Release: 1%{?dist}
Release: 2%{?dist}
Epoch: 1
# group all 32bit related archs
@ -37,7 +37,12 @@ Patch09: nfs-utils-1.1.1-fsloc-nohide.patch
Patch90: nfs-utils-1.1.0-mount-fsc.patch
%endif
#Patch100: nfs-utils-1.0.9-compile.patch
Patch100: nfs-utils-1.1.1-nfsstat-manpage.patch
Patch101: nfs-utils-1.1.1-export-manpage.patch
Patch102: nfs-utils-1.1.1-mount-rm-nfsprog.patch
Patch103: nfs-utils-1.1.1-mount-rm-mountprog.patch
Patch104: nfs-utils-1.1.1-xlog-valist.patch
Patch105: nfs-utils-1.1.1-mountd-crossmnt.patch
Group: System Environment/Daemons
Provides: exportfs = %{epoch}:%{version}-%{release}
@ -99,8 +104,12 @@ This package also contains the mount.nfs and umount.nfs program.
%patch90 -p1
%endif
# Do the magic to get things to compile
#%patch100 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
# Remove .orig files
find . -name "*.orig" | xargs rm -f
@ -264,6 +273,15 @@ fi
%attr(4755,root,root) /sbin/umount.nfs4
%changelog
* Tue Jan 22 2008 Steve Dickson <steved@redhat.com> 1.1.1-2
- Added -S/--since to the nfsstat(1) manpage
- The wording in the exportfs man page can be a bit confusing, implying
that "exportfs -u :/foo" will unexport /foo from all hosts, which it won't
- Removed nfsprog option since the kernel no longer supports it.
- Removed mountprog option since the kernel no longer supports it.
- Stop segfaults on amd64 during warnings messages.
- Fix bug when both crossmnt and fsid are set.
* Sat Jan 5 2008 Steve Dickson <steved@redhat.com> 1.1.1-1
- Updated to latest upstream release, nfs-utils-1.1.1
- Added the removal of sm-notify.pid to nfslock init script.