SOURCES: nfs-utils-mount-fake.patch (NEW), nfs-utils-mount-fsc.pat...
baggins
baggins at pld-linux.org
Tue Mar 20 19:33:25 CET 2007
Author: baggins Date: Tue Mar 20 18:33:25 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- bugfixes from FC
---- Files affected:
SOURCES:
nfs-utils-mount-fake.patch (NONE -> 1.1) (NEW), nfs-utils-mount-fsc.patch (NONE -> 1.1) (NEW), nfs-utils-mount-man-nfs.patch (NONE -> 1.1) (NEW), nfs-utils-mountd.patch (NONE -> 1.1) (NEW), nfs-utils-privports.patch (NONE -> 1.1) (NEW), nfs-utils-statdpath.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/nfs-utils-mount-fake.patch
diff -u /dev/null SOURCES/nfs-utils-mount-fake.patch:1.1
--- /dev/null Tue Mar 20 19:33:25 2007
+++ SOURCES/nfs-utils-mount-fake.patch Tue Mar 20 19:33:20 2007
@@ -0,0 +1,35 @@
+
+Signed-off-by: Karel Zak <kzak at 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);
+ }
================================================================
Index: SOURCES/nfs-utils-mount-fsc.patch
diff -u /dev/null SOURCES/nfs-utils-mount-fsc.patch:1.1
--- /dev/null Tue Mar 20 19:33:25 2007
+++ SOURCES/nfs-utils-mount-fsc.patch Tue Mar 20 19:33:20 2007
@@ -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
================================================================
Index: SOURCES/nfs-utils-mount-man-nfs.patch
diff -u /dev/null SOURCES/nfs-utils-mount-man-nfs.patch:1.1
--- /dev/null Tue Mar 20 19:33:25 2007
+++ SOURCES/nfs-utils-mount-man-nfs.patch Tue Mar 20 19:33:20 2007
@@ -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 at world.std.com>
++.\" Wed Feb 8 12:52:42 1995, faith at 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 at 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.
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list