]> git.pld-linux.org Git - packages/nfs-utils.git/commitdiff
- bugfixes from FC
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 20 Mar 2007 18:33:20 +0000 (18:33 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    nfs-utils-mount-fake.patch -> 1.1
    nfs-utils-mount-fsc.patch -> 1.1
    nfs-utils-mount-man-nfs.patch -> 1.1
    nfs-utils-mountd.patch -> 1.1
    nfs-utils-privports.patch -> 1.1
    nfs-utils-statdpath.patch -> 1.1

nfs-utils-mount-fake.patch [new file with mode: 0644]
nfs-utils-mount-fsc.patch [new file with mode: 0644]
nfs-utils-mount-man-nfs.patch [new file with mode: 0644]
nfs-utils-mountd.patch [new file with mode: 0644]
nfs-utils-privports.patch [new file with mode: 0644]
nfs-utils-statdpath.patch [new file with mode: 0644]

diff --git a/nfs-utils-mount-fake.patch b/nfs-utils-mount-fake.patch
new file mode 100644 (file)
index 0000000..e1bcd0d
--- /dev/null
@@ -0,0 +1,35 @@
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+
+--- nfs-utils-1.0.10/utils/mount/mount.c.kzak  2007-02-09 12:26:16.000000000 +0100
++++ nfs-utils-1.0.10/utils/mount/mount.c       2007-02-09 12:27:59.000000000 +0100
+@@ -494,20 +494,21 @@
+                                       &extra_opts, &mount_opts,  0);
+               }
+       }
+-      if (fake)
+-              return 0;
+       if (mnt_err)
+               exit(EX_FAIL);
+-      mnt_err = do_mount_syscall(spec, mount_point,
+-                      nfs_mount_vers == 4 ? "nfs4" : "nfs", flags, mount_opts);
++      if (!fake) {
++              mnt_err = do_mount_syscall(spec, mount_point,
++                              nfs_mount_vers == 4 ? "nfs4" : "nfs", 
++                              flags, mount_opts);
+-      if(mnt_err) {
+-              mount_error(mount_point);
+-              exit(EX_FAIL);
++              if (mnt_err) {
++                      mount_error(mount_point);
++                      exit(EX_FAIL);
++              }
+       }
+-      if(!nomtab) {
++      if (!nomtab) {
+               add_mtab(spec, mount_point, nfs_mount_vers == 4 ? "nfs4" : "nfs",
+                        flags, extra_opts, 0, 0);
+       }
diff --git a/nfs-utils-mount-fsc.patch b/nfs-utils-mount-fsc.patch
new file mode 100644 (file)
index 0000000..1881b64
--- /dev/null
@@ -0,0 +1,95 @@
+--- nfs-utils-1.0.9/utils/mount/nfs4mount.c.orig       2006-10-16 08:32:53.789617000 -0400
++++ nfs-utils-1.0.9/utils/mount/nfs4mount.c    2006-10-16 08:33:53.098133000 -0400
+@@ -201,7 +201,7 @@ int nfs4mount(const char *spec, const ch
+       char *s;
+       int val;
+       int bg, soft, intr;
+-      int nocto, noac;
++      int nocto, noac, fscache;
+       int retry;
+       int retval;
+       time_t timeout, t;
+@@ -252,6 +252,7 @@ int nfs4mount(const char *spec, const ch
+       intr = NFS4_MOUNT_INTR;
+       nocto = 0;
+       noac = 0;
++      fscache = 0;
+       retry = 10000;          /* 10000 minutes ~ 1 week */
+       /*
+@@ -332,6 +333,8 @@ int nfs4mount(const char *spec, const ch
+                               soft = !val;
+                       else if (!strcmp(opt, "intr"))
+                               intr = val;
++                      else if (!strcmp(opt, "fsc"))
++                              fscache = val;
+                       else if (!strcmp(opt, "cto"))
+                               nocto = !val;
+                       else if (!strcmp(opt, "ac"))
+@@ -347,7 +350,8 @@ int nfs4mount(const char *spec, const ch
+       data.flags = (soft ? NFS4_MOUNT_SOFT : 0)
+               | (intr ? NFS4_MOUNT_INTR : 0)
+               | (nocto ? NFS4_MOUNT_NOCTO : 0)
+-              | (noac ? NFS4_MOUNT_NOAC : 0);
++              | (noac ? NFS4_MOUNT_NOAC : 0)
++              | (fscache ? NFS4_MOUNT_FSCACHE : 0);
+       /*
+        * Give a warning if the rpc.idmapd daemon is not running
+--- nfs-utils-1.0.9/utils/mount/nfs_mount.h.orig       2006-10-16 08:32:53.763643000 -0400
++++ nfs-utils-1.0.9/utils/mount/nfs_mount.h    2006-10-16 08:33:53.113133000 -0400
+@@ -63,6 +63,7 @@ struct nfs_mount_data {
+ #define NFS_MOUNT_BROKEN_SUID 0x0400  /* 4 */
+ #define NFS_MOUNT_NOACL     0x0800  /* 4 */
+ #define NFS_MOUNT_SECFLAVOUR  0x2000  /* 5 */
++#define NFS_MOUNT_FSCACHE     0x4000  /* 6 */
+ /* security pseudoflavors */
+--- nfs-utils-1.0.9/utils/mount/nfsmount.c.orig        2006-10-16 08:32:53.853553000 -0400
++++ nfs-utils-1.0.9/utils/mount/nfsmount.c     2006-10-16 08:33:53.128133000 -0400
+@@ -695,6 +695,10 @@ parse_options(char *old_opts, struct nfs
+                               data->flags &= ~NFS_MOUNT_SOFT;
+                               if (val)
+                                       data->flags |= NFS_MOUNT_SOFT;
++                      } else if (!strcmp(opt, "fsc")) {
++                              data->flags &= ~NFS_MOUNT_FSCACHE;
++                              if (val)
++                                      data->flags |= NFS_MOUNT_FSCACHE;
+                       } else if (!strcmp(opt, "hard")) {
+                               data->flags &= ~NFS_MOUNT_SOFT;
+                               if (!val)
+--- nfs-utils-1.0.9/utils/mount/nfs4_mount.h.orig      2006-07-07 20:04:32.000000000 -0400
++++ nfs-utils-1.0.9/utils/mount/nfs4_mount.h   2006-10-16 08:33:53.143133000 -0400
+@@ -65,6 +65,7 @@ struct nfs4_mount_data {
+ #define NFS4_MOUNT_NOCTO      0x0010  /* 1 */
+ #define NFS4_MOUNT_NOAC               0x0020  /* 1 */
+ #define NFS4_MOUNT_STRICTLOCK 0x1000  /* 1 */
++#define NFS4_MOUNT_FSCACHE    0x4000  /* 1 */
+ #define NFS4_MOUNT_FLAGMASK   0xFFFF
+ /* pseudoflavors: */
+--- nfs-utils-1.0.9/utils/mount/nfs.man.orig   2006-10-16 08:32:53.825581000 -0400
++++ nfs-utils-1.0.9/utils/mount/nfs.man        2006-10-16 08:36:39.503163000 -0400
+@@ -272,6 +272,10 @@ default UDP protocol.  Many NFS servers 
+ .I udp
+ Mount the NFS filesystem using the UDP protocol.  This
+ is the default.
++.TP 1.5i
++.I fsc
++Enable the use of persistent caching to the local disk using
++the FS-Cache facility for the given mount point.
+ .P
+ All of the non-value options have corresponding nooption forms.
+ For example, nointr means don't allow file operations to be
+@@ -428,6 +432,10 @@ This extracts a
+ server performance penalty but it allows two different NFS clients
+ to get reasonable good results when both clients are actively
+ writing to common filesystem on the server.
++.TP 1.5i
++.I fsc
++Enable the use of persistent caching to the local disk using
++the FS-Cache facility for the given mount point.
+ .P
+ All of the non-value options have corresponding nooption forms.
+ For example, nointr means don't allow file operations to be
diff --git a/nfs-utils-mount-man-nfs.patch b/nfs-utils-mount-man-nfs.patch
new file mode 100644 (file)
index 0000000..7f6ee6f
--- /dev/null
@@ -0,0 +1,495 @@
+--- /dev/null  2006-10-11 11:03:58.566320005 -0400
++++ nfs-utils-1.0.9/utils/mount/nfs.man        2006-10-16 08:31:02.204578000 -0400
+@@ -0,0 +1,456 @@
++.\" nfs.5 "Rick Sladkey" <jrs@world.std.com>
++.\" Wed Feb  8 12:52:42 1995, faith@cs.unc.edu: updates for Ross Biro's
++.\" patches. "
++.TH NFS 5 "20 November 1993" "Linux 0.99" "Linux Programmer's Manual"
++.SH NAME
++nfs \- nfs and nfs4 fstab format and options
++.SH SYNOPSIS
++.B /etc/fstab
++.SH DESCRIPTION
++The
++.I fstab
++file contains information about which filesystems
++to mount where and with what options.
++For NFS mounts, it contains the server name and
++exported server directory to mount from,
++the local directory that is the mount point,
++and the NFS specific options that control
++the way the filesystem is mounted.
++.P
++Three different versions of the NFS protocol are
++supported by the Linux NFS client:
++NFS version 2, NFS version 3, and NFS version 4.
++To mount via NFS version 2, use the
++.BR nfs
++file system type and specify
++.BR nfsvers=2 .
++Version 2 is the default protocol version for the
++.BR nfs
++file system type when
++.BR nfsvers=
++is not specified on the mount command.
++To mount via NFS version 3, use the
++.BR nfs
++file system type and specify
++.BR nfsvers=3 .
++To mount via NFS version 4, use the
++.BR nfs4
++file system type.
++The
++.BR nfsvers=
++keyword is not supported for the
++.BR nfs4
++file system type.
++.P
++These file system types share similar mount options;
++the differences are listed below.
++.P
++Here is an example from an \fI/etc/fstab\fP file for an NFSv2 mount
++over UDP.
++.sp
++.nf
++.ta 2.5i +0.75i +0.75i +1.0i
++server:/usr/local/pub /pub    nfs     rsize=32768,wsize=32768,timeo=14,intr
++.fi
++.P
++Here is an example for an NFSv4 mount over TCP using Kerberos
++5 mutual authentication.
++.sp
++.nf
++.ta 2.5i +0.75i +0.75i +1.0i
++server:/usr/local/pub /pub    nfs4    proto=tcp,sec=krb5,hard,intr
++.fi
++.DT
++.SS Options for the nfs file system type
++.TP 1.5i
++.I rsize=n
++The number of bytes NFS uses when reading files from an NFS server.
++The rsize is negotiated between the server and client to determine 
++the largest block size that both can support.
++The value specified by this option is the maximum size that could 
++be used; however, the actual size used may be smaller.
++Note: Setting this size to a value less than the largest supported
++block size will adversely affect performance.
++.TP 1.5i
++.I wsize=n
++The number of bytes NFS uses when writing files to an NFS server.
++The wsize is negotiated between the server and client to determine 
++the largest block size that both can support.
++The value specified by this option is the maximum size that could 
++be used; however, the actual size used may be smaller.
++Note: Setting this size to a value less than the largest supported
++block size will adversely affect performance.
++.TP 1.5i
++.I timeo=n
++The value in tenths of a second before sending the
++first retransmission after an RPC timeout.
++The default value is 7 tenths of a second.  After the first timeout,
++the timeout is doubled after each successive timeout until a maximum
++timeout of 60 seconds is reached or the enough retransmissions
++have occured to cause a major timeout.  Then, if the filesystem
++is hard mounted, each new timeout cascade restarts at twice the
++initial value of the previous cascade, again doubling at each
++retransmission.  The maximum timeout is always 60 seconds.
++Better overall performance may be achieved by increasing the
++timeout when mounting on a busy network, to a slow server, or through
++several routers or gateways.
++.TP 1.5i
++.I retrans=n
++The number of minor timeouts and retransmissions that must occur before
++a major timeout occurs.  The default is 3 timeouts.  When a major timeout
++occurs, the file operation is either aborted or a "server not responding"
++message is printed on the console.
++.TP 1.5i
++.I acregmin=n
++The minimum time in seconds that attributes of a regular file should
++be cached before requesting fresh information from a server.
++The default is 3 seconds.
++.TP 1.5i
++.I acregmax=n
++The maximum time in seconds that attributes of a regular file can
++be cached before requesting fresh information from a server.
++The default is 60 seconds.
++.TP 1.5i
++.I acdirmin=n
++The minimum time in seconds that attributes of a directory should
++be cached before requesting fresh information from a server.
++The default is 30 seconds.
++.TP 1.5i
++.I acdirmax=n
++The maximum time in seconds that attributes of a directory can
++be cached before requesting fresh information from a server.
++The default is 60 seconds.
++.TP 1.5i
++.I actimeo=n
++Using actimeo sets all of
++.I acregmin,
++.I acregmax,
++.I acdirmin,
++and
++.I acdirmax
++to the same value.
++There is no default value.
++.TP 1.5i
++.I retry=n
++The number of minutes to retry an NFS mount operation
++in the foreground or background before giving up.
++The default value for forground mounts is 2 minutes.  
++The default value for background mounts is 10000 minutes, 
++which is roughly one week.
++.TP 1.5i
++.I namlen=n
++When an NFS server does not support version two of the
++RPC mount protocol, this option can be used to specify
++the maximum length of a filename that is supported on
++the remote filesystem.  This is used to support the
++POSIX pathconf functions.  The default is 255 characters.
++.TP 1.5i
++.I port=n
++The numeric value of the port to connect to the NFS server on.
++If the port number is 0 (the default) then query the
++remote host's portmapper for the port number to use.
++If the remote host's NFS daemon is not registered with
++its portmapper, the standard NFS port number 2049 is
++used instead.
++.TP 1.5i
++.I mountport=n
++The numeric value of the
++.B mountd
++port.
++.TP 1.5i
++.I mounthost=name
++The name of the host running
++.B mountd .
++.TP 1.5i
++.I mountprog=n
++Use an alternate RPC program number to contact the
++mount daemon on the remote host.  This option is useful
++for hosts that can run multiple NFS servers.
++The default value is 100005 which is the standard RPC
++mount daemon program number.
++.TP 1.5i
++.I mountvers=n
++Use an alternate RPC version number to contact the
++mount daemon on the remote host.  This option is useful
++for hosts that can run multiple NFS servers.
++The default value depends on which kernel you are using.
++.TP 1.5i
++.I nfsprog=n
++Use an alternate RPC program number to contact the
++NFS daemon on the remote host.  This option is useful
++for hosts that can run multiple NFS servers.
++The default value is 100003 which is the standard RPC
++NFS daemon program number.
++.TP 1.5i
++.I nfsvers=n
++Use an alternate RPC version number to contact the
++NFS daemon on the remote host.  This option is useful
++for hosts that can run multiple NFS servers.
++The default value depends on which kernel you are using.
++.TP 1.5i
++.I vers=n
++vers is an alternative to nfsvers and is compatible with
++many other operating systems.
++.TP 1.5i
++.I nolock
++Disable NFS locking. Do not start lockd.
++This has to be used with some old NFS servers
++that don't support locking.
++.TP 1.5i
++.I bg
++If the first NFS mount attempt times out, retry the mount
++in the background.
++After a mount operation is backgrounded, all subsequent mounts
++on the same NFS server will be backgrounded immediately, without
++first attempting the mount.
++A missing mount point is treated as a timeout,
++to allow for nested NFS mounts.
++.TP 1.5i
++.I fg
++If the first NFS mount attempt times out, retry the mount
++in the foreground.
++This is the complement of the
++.I bg
++option, and also the default behavior.
++.TP 1.5i
++.I soft
++If an NFS file operation has a major timeout then report an I/O error to
++the calling program.
++The default is to continue retrying NFS file operations indefinitely.
++.TP 1.5i
++.I hard
++If an NFS file operation has a major timeout then report
++"server not responding" on the console and continue retrying indefinitely.
++This is the default.
++.TP 1.5i
++.I intr
++If an NFS file operation has a major timeout and it is hard mounted,
++then allow signals to interupt the file operation and cause it to
++return EINTR to the calling program.  The default is to not
++allow file operations to be interrupted.
++.TP 1.5i
++.I posix
++Mount the NFS filesystem using POSIX semantics.  This allows
++an NFS filesystem to properly support the POSIX pathconf
++command by querying the mount server for the maximum length
++of a filename.  To do this, the remote host must support version
++two of the RPC mount protocol.  Many NFS servers support only
++version one.
++.TP 1.5i
++.I nocto
++Suppress the retrieval of new attributes when creating a file.
++.TP 1.5i
++.I noac
++Disable all forms of attribute caching entirely.  This extracts a
++significant performance penalty but it allows two different NFS clients
++to get reasonable results when both clients are actively
++writing to a common export on the server.
++.TP 1.5i
++.I noacl
++Disables Access Control List (ACL) processing.
++.TP 1.5i
++.I sec=mode
++Set the security flavor for this mount to "mode".
++The default setting is \f3sec=sys\f1, which uses local
++unix uids and gids to authenticate NFS operations (AUTH_SYS).
++Other currently supported settings are:
++\f3sec=krb5\f1, which uses Kerberos V5 instead of local unix uids
++and gids to authenticate users;
++\f3sec=krb5i\f1, which uses Kerberos V5 for user authentication
++and performs integrity checking of NFS operations using secure
++checksums to prevent data tampering; and
++\f3sec=krb5p\f1, which uses Kerberos V5 for user authentication
++and integrity checking, and encrypts NFS traffic to prevent
++traffic sniffing (this is the most secure setting).
++Note that there is a performance penalty when using integrity
++or privacy.
++.TP 1.5i
++.I tcp
++Mount the NFS filesystem using the TCP protocol instead of the
++default UDP protocol.  Many NFS servers only support UDP.
++.TP 1.5i
++.I udp
++Mount the NFS filesystem using the UDP protocol.  This
++is the default.
++.P
++All of the non-value options have corresponding nooption forms.
++For example, nointr means don't allow file operations to be
++interrupted.
++.SS Options for the nfs4 file system type
++.TP 1.5i
++.I rsize=n
++The number of bytes nfs4 uses when reading files from the server.
++The rsize is negotiated between the server and client to determine 
++the largest block size that both can support.
++The value specified by this option is the maximum size that could 
++be used; however, the actual size used may be smaller.
++Note: Setting this size to a value less than the largest supported
++block size will adversely affect performance.
++.TP 1.5i
++.I wsize=n
++The number of bytes nfs4 uses when writing files to the server.
++The wsize is negotiated between the server and client to determine 
++the largest block size that both can support.
++The value specified by this option is the maximum size that could 
++be used; however, the actual size used may be smaller.
++Note: Setting this size to a value less than the largest supported
++block size will adversely affect performance.
++.TP 1.5i
++.I timeo=n
++The value in tenths of a second before sending the
++first retransmission after an RPC timeout.
++The default value depends on whether
++.IR proto=udp
++or
++.IR proto=tcp
++is in effect (see below).
++The default value for UDP is 7 tenths of a second.
++The default value for TCP is 60 seconds.
++After the first timeout,
++the timeout is doubled after each successive timeout until a maximum
++timeout of 60 seconds is reached or the enough retransmissions
++have occured to cause a major timeout.  Then, if the filesystem
++is hard mounted, each new timeout cascade restarts at twice the
++initial value of the previous cascade, again doubling at each
++retransmission.  The maximum timeout is always 60 seconds.
++.TP 1.5i
++.I retrans=n
++The number of minor timeouts and retransmissions that must occur before
++a major timeout occurs.  The default is 5 timeouts for
++.IR proto=udp
++and 2 timeouts for
++.IR proto=tcp .
++When a major timeout
++occurs, the file operation is either aborted or a "server not responding"
++message is printed on the console.
++.TP 1.5i
++.I acregmin=n
++The minimum time in seconds that attributes of a regular file should
++be cached before requesting fresh information from a server.
++The default is 3 seconds.
++.TP 1.5i
++.I acregmax=n
++The maximum time in seconds that attributes of a regular file can
++be cached before requesting fresh information from a server.
++The default is 60 seconds.
++.TP 1.5i
++.I acdirmin=n
++The minimum time in seconds that attributes of a directory should
++be cached before requesting fresh information from a server.
++The default is 30 seconds.
++.TP 1.5i
++.I acdirmax=n
++The maximum time in seconds that attributes of a directory can
++be cached before requesting fresh information from a server.
++The default is 60 seconds.
++.TP 1.5i
++.I actimeo=n
++Using actimeo sets all of
++.I acregmin,
++.I acregmax,
++.I acdirmin,
++and
++.I acdirmax
++to the same value.
++There is no default value.
++.TP 1.5i
++.I retry=n
++The number of minutes to retry an NFS mount operation
++in the foreground or background before giving up.
++The default value for forground mounts is 2 minutes.  
++The default value for background mounts is 10000 minutes, 
++which is roughly one week.
++.TP 1.5i
++.I port=n
++The numeric value of the port to connect to the NFS server on.
++If the port number is 0 (the default) then query the
++remote host's portmapper for the port number to use.
++If the remote host's NFS daemon is not registered with
++its portmapper, the standard NFS port number 2049 is
++used instead.
++.TP 1.5i
++.I proto=n
++Mount the NFS filesystem using a specific network protocol
++instead of the default UDP protocol.
++Many NFS version 4 servers only support TCP.
++Valid protocol types are
++.IR udp
++and
++.IR tcp .
++.TP 1.5i
++.I clientaddr=n
++On a multi-homed client, this
++causes the client to use a specific callback address when
++communicating with an NFS version 4 server.
++This option is currently ignored.
++.TP 1.5i
++.I sec=mode
++Same as \f3sec=mode\f1 for the nfs filesystem type (see above).
++.TP 1.5i
++.I bg
++If an NFS mount attempt times out, retry the mount
++in the background.
++After a mount operation is backgrounded, all subsequent mounts
++on the same NFS server will be backgrounded immediately, without
++first attempting the mount.
++A missing mount point is treated as a timeout,
++to allow for nested NFS mounts.
++.TP 1.5i
++.I fg
++If the first NFS mount attempt times out, retry the mount
++in the foreground.
++This is the complement of the
++.I bg
++option, and also the default behavior.
++.TP 1.5i
++.I soft
++If an NFS file operation has a major timeout then report an I/O error to
++the calling program.
++The default is to continue retrying NFS file operations indefinitely.
++.TP 1.5i
++.I hard
++If an NFS file operation has a major timeout then report
++"server not responding" on the console and continue retrying indefinitely.
++This is the default.
++.TP 1.5i
++.I intr
++If an NFS file operation has a major timeout and it is hard mounted,
++then allow signals to interupt the file operation and cause it to
++return EINTR to the calling program.  The default is to not
++allow file operations to be interrupted.
++.TP 1.5i
++.I nocto
++Suppress the retrieval of new attributes when creating a file.
++.TP 1.5i
++.I noac
++Disable attribute caching, and force synchronous writes.
++This extracts a
++server performance penalty but it allows two different NFS clients
++to get reasonable good results when both clients are actively
++writing to common filesystem on the server.
++.P
++All of the non-value options have corresponding nooption forms.
++For example, nointr means don't allow file operations to be
++interrupted.
++.SH FILES
++.I /etc/fstab
++.SH "SEE ALSO"
++.BR fstab "(5), " mount "(8), " umount "(8), " exports (5)
++.SH AUTHOR
++"Rick Sladkey" <jrs@world.std.com>
++.SH BUGS
++The posix, and nocto options are parsed by mount
++but currently are silently ignored.
++.P
++The tcp and namlen options are implemented but are not currently
++supported by the Linux kernel.
++.P
++The umount command should notify the server
++when an NFS filesystem is unmounted.
++.P
++Checking files on NFS filesystem referenced by file descriptors (i.e. the 
++.BR fcntl 
++and 
++.BR ioctl
++families of functions) may lead to inconsistent result due to the lack of
++consistency check in kernel even if noac is used.
+--- nfs-utils-1.0.9/utils/mount/Makefile.am.orig       2006-10-16 08:29:34.790243000 -0400
++++ nfs-utils-1.0.9/utils/mount/Makefile.am    2006-10-16 08:30:32.594308000 -0400
+@@ -1,9 +1,10 @@
+ ## Process this file with automake to produce Makefile.in
+ man8_MANS     = mount.nfs.man umount.nfs.man
++man5_MANS     = nfs.man
+ sbin_PROGRAMS = mount.nfs
+-EXTRA_DIST = nfsmount.x $(man8_MANS)
++EXTRA_DIST = nfsmount.x $(man8_MANS) $(man5_MANS)
+ mount_nfs_SOURCES = mount.c nfsmount.c nfs4mount.c nfsumount.c \
+                 mount_constants.h nfs4_mount.h nfs_mount4.h
+@@ -29,6 +30,11 @@ install-man-links:
+           inst=`echo $$m | sed -e 's/man$$/8/'`; \
+           rm -f $$inst ; \
+         done)
++      (cd $(DESTDIR)$(man5dir) && \
++        for m in $(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS); do \
++          inst=`echo $$m | sed -e 's/man$$/5/'`; \
++          rm -f $$inst ; \
++        done)
+ uninstall-man-links:
+       (cd $(DESTDIR)$(man8dir) && \
+@@ -36,4 +42,9 @@ uninstall-man-links:
+           inst=`echo $$m | sed -e 's/man$$/8/'`; \
+           rm -f $$inst ; \
+         done)
++      (cd $(DESTDIR)$(man5dir) && \
++        for m in $(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS); do \
++          inst=`echo $$m | sed -e 's/man$$/5/'`; \
++          rm -f $$inst ; \
++        done)
diff --git a/nfs-utils-mountd.patch b/nfs-utils-mountd.patch
new file mode 100644 (file)
index 0000000..0e6d896
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# Make sure check_new_cache() is looking in the right place
+#
+--- src/support/nfs/cacheio.c.org      2003-08-04 00:12:16.000000000 -0400
++++ src/support/nfs/cacheio.c  2004-03-22 18:12:55.163534208 -0500
+@@ -223,12 +223,23 @@ int readline(int fd, char **buf, int *le
+  * This succeeds iff the "nfsd" filesystem is mounted on
+  * /proc/fs/nfs
+  */
++static char *cachelist[] = {
++      { "auth.unix.ip" }, { "nfsd.export" }, { "nfsd.fh" }, 
++      { NULL, NULL }
++};
+ int
+ check_new_cache(void)
+ {
+       struct stat stb;
+-      return  (stat("/proc/fs/nfs/filehandle", &stb) == 0) ||
+-              (stat("/proc/fs/nfsd/filehandle", &stb) == 0);
++      char path[64];
++      int i;
++
++      for (i=0; cachelist[i]; i++ ){
++              sprintf(path, "/proc/net/rpc/%s/channel", cachelist[i]);
++              if (stat(path, &stb) < 0)
++                      return 0;
++      }
++      return 1;
+ }     
+
+
diff --git a/nfs-utils-privports.patch b/nfs-utils-privports.patch
new file mode 100644 (file)
index 0000000..5d230aa
--- /dev/null
@@ -0,0 +1,28 @@
+--- nfs-utils-1.0.8/utils/statd/statd.c.orig   2005-12-19 23:12:47.000000000 -0500
++++ nfs-utils-1.0.8/utils/statd/statd.c        2006-06-30 10:03:38.000000000 -0400
+@@ -231,7 +231,7 @@ int main (int argc, char **argv)
+       extern char *optarg;
+       int pid;
+       int arg;
+-      int port = 0, out_port = 0;
++      int port = 0, out_port = 0, doonce = 0;
+       struct rlimit rlim;
+       int pipefds[2] = { -1, -1};
+@@ -440,7 +440,6 @@ int main (int argc, char **argv)
+       create_pidfile();
+       atexit(truncate_pidfile);
+-      drop_privs();
+       for (;;) {
+               if (!(run_mode & MODE_NOTIFY_ONLY)) {
+@@ -469,6 +468,8 @@ int main (int argc, char **argv)
+               if (!(run_mode & MODE_NOTIFY_ONLY)) {
+                       rpc_init("statd", SM_PROG, SM_VERS, sm_prog_1, port);
+               } 
++              if (doonce++ < 1)
++                      drop_privs();
+               /*
+                * Handle incoming requests:  SM_NOTIFY socket requests, as
diff --git a/nfs-utils-statdpath.patch b/nfs-utils-statdpath.patch
new file mode 100644 (file)
index 0000000..b2bf871
--- /dev/null
@@ -0,0 +1,42 @@
+--- ./utils/statd/statd.h.orig 2002-09-01 22:31:23.000000000 -0400
++++ ./utils/statd/statd.h      2003-07-21 10:45:54.000000000 -0400
+@@ -13,10 +13,11 @@
+ /*
+  * Paths and filenames.
+  */
++#define STATD_PATH_XTN "statd/"
+ #if defined(NFS_STATEDIR)
+-# define DEFAULT_DIR_BASE     NFS_STATEDIR "/"
++# define DEFAULT_DIR_BASE     NFS_STATEDIR "/" STATD_PATH_XTN
+ #else
+-# define DEFAULT_DIR_BASE     "/var/lib/nfs/"
++# define DEFAULT_DIR_BASE     "/var/lib/nfs/" STATD_PATH_XTN
+ #endif
+ #define DEFAULT_SM_DIR                DEFAULT_DIR_BASE "sm"
+--- ./utils/statd/statd.man.orig       2002-09-16 15:23:03.000000000 -0400
++++ ./utils/statd/statd.man    2003-06-02 15:01:41.000000000 -0400
+@@ -23,7 +23,7 @@ reboots.
+ For each NFS client or server machine to be monitored,
+ .B rpc.statd
+ creates a file in
+-.BR /var/lib/nfs/sm .
++.BR /var/lib/nfs/statd/sm .
+ When starting, it iterates through these files and notifies the
+ peer
+ .B rpc.statd
+@@ -136,11 +136,11 @@ and
+ manual pages.
+ .SH FILES
+-.BR /var/lib/nfs/state
++.BR /var/lib/nfs/statd/sm/state
+ .br
+-.BR /var/lib/nfs/sm/*
++.BR /var/lib/nfs/statd/sm/*
+ .br
+-.BR /var/lib/nfs/sm.bak/*
++.BR /var/lib/nfs/statd/sm.bak/*
+ .SH SEE ALSO
+ .BR rpc.nfsd(8),
+ .BR portmap(8)
This page took 0.098529 seconds and 4 git commands to generate.