rpms/nfs-utils/devel nfs-utils-1.2.1-rc4.patch, NONE, 1.1 nfs-utils-1.2.0-proots-rel5.patch, 1.1, 1.2 nfs-utils.spec, 1.239, 1.240

Steve Dickson steved at fedoraproject.org
Mon Aug 17 13:21:50 UTC 2009


Author: steved

Update of /cvs/pkgs/rpms/nfs-utils/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8320

Modified Files:
	nfs-utils-1.2.0-proots-rel5.patch nfs-utils.spec 
Added Files:
	nfs-utils-1.2.1-rc4.patch 
Log Message:
- Added upstream 1.2.1-rc4 patch
  - Fix bug when both crossmnt
  - nfs(5): Add description of lookupcache mount option
  - nfs(5): Remove trailing blanks
  - Added nfs41 support to nfssat
  - Added support for mount to us a configuration file.


nfs-utils-1.2.1-rc4.patch:
 b/configure.ac                  |   25 +
 b/support/include/Makefile.am   |    3 
 b/support/include/conffile.h    |   77 +++
 b/support/nfs/Makefile.am       |    2 
 b/support/nfs/conffile.c        |  962 ++++++++++++++++++++++++++++++++++++++++
 b/utils/idmapd/Makefile.am      |    1 
 b/utils/idmapd/idmapd.c         |    4 
 b/utils/mount/Makefile.am       |    9 
 b/utils/mount/configfile.c      |  320 +++++++++++++
 b/utils/mount/mount.c           |    7 
 b/utils/mount/mount_config.h    |   48 +
 b/utils/mount/nfs.man           |  364 +++++++++------
 b/utils/mount/nfsmount.conf     |  120 ++++
 b/utils/mount/nfsmount.conf.man |   87 +++
 b/utils/mountd/cache.c          |   14 
 b/utils/nfsstat/nfsstat.c       |   46 +
 utils/idmapd/cfg.c              |  893 -------------------------------------
 utils/idmapd/cfg.h              |   67 --
 18 files changed, 1938 insertions(+), 1111 deletions(-)

--- NEW FILE nfs-utils-1.2.1-rc4.patch ---
diff --git a/configure.ac b/configure.ac
index e0ca70e..1b653e4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -136,6 +136,31 @@ AC_ARG_ENABLE(ipv6,
 	AC_SUBST(enable_ipv6)
 	AM_CONDITIONAL(CONFIG_IPV6, [test "$enable_ipv6" = "yes"])
 
+if test "$enable_mount" = yes; then
+	AC_ARG_ENABLE(mountconfig,
+	[AC_HELP_STRING([--enable-mountconfig],
+                        [enable mount to use a configuration file])],
+	mountconfig=$enableval,
+	mountconfig=no)
+	if test "$enable_mountconfig" = yes; then
+		AC_DEFINE(MOUNT_CONFIG, 1, 
+			[Define this if you want mount to read a configuration file])
+		AC_ARG_WITH(mountfile,
+			[AC_HELP_STRING([--with-mountfile=filename],
+			[Using filename as the NFS mount options file [/etc/nfsmounts.conf]]
+			)],
+		mountfile=$withval,
+		mountfile=/etc/nfsmount.conf)
+		AC_SUBST(mountfile)
+		AC_DEFINE_UNQUOTED(MOUNTOPTS_CONFFILE, "$mountfile", 
+			[This defines the location of the NFS mount configuration file])
+	else
+		enable_mountconfig=
+	fi
+	AC_SUBST(enable_mountconfig)
+	AM_CONDITIONAL(MOUNT_CONFIG, [test "$enable_mountconfig" = "yes"])
+fi
+
 dnl Check for TI-RPC library and headers
 AC_LIBTIRPC
 
diff --git a/support/include/Makefile.am b/support/include/Makefile.am
index 718abda..f5a77ec 100644
--- a/support/include/Makefile.am
+++ b/support/include/Makefile.am
@@ -14,6 +14,7 @@ noinst_HEADERS = \
 	xio.h \
 	xlog.h \
 	xmalloc.h \
-	xcommon.h
+	xcommon.h \
+	conffile.h
 
 MAINTAINERCLEANFILES = Makefile.in
diff --git a/support/include/conffile.h b/support/include/conffile.h
new file mode 100644
index 0000000..132a149
--- /dev/null
+++ b/support/include/conffile.h
@@ -0,0 +1,77 @@
+/* $OpenBSD: conf.h,v 1.30 2004/06/25 20:25:34 hshoexer Exp $	 */
+/* $EOM: conf.h,v 1.13 2000/09/18 00:01:47 ho Exp $	 */
+
+/*
+ * Copyright (c) 1998, 1999, 2001 Niklas Hallqvist.  All rights reserved.
+ * Copyright (c) 2000, 2003 Håkan Olsson.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This code was written under funding by Ericsson Radio Systems.
+ */
+
+#ifndef _CONFFILE_H_
+#define _CONFFILE_H_
+
+#include <sys/queue.h>
+
+struct conf_list_node {
+	TAILQ_ENTRY(conf_list_node) link;
+	char	*field;
+};
+
+struct conf_list {
+	size_t	cnt;
+	TAILQ_HEAD(conf_list_fields_head, conf_list_node) fields;
+};
+
+extern char    *conf_path;
+
+extern int      conf_begin(void);
+extern int      conf_decode_base64(u_int8_t *, u_int32_t *, u_char *);
+extern int      conf_end(int, int);
+extern void     conf_free_list(struct conf_list *);
+extern struct sockaddr *conf_get_address(char *, char *);
+extern struct conf_list *conf_get_list(char *, char *);
+extern struct conf_list *conf_get_tag_list(char *);
+extern int      conf_get_num(char *, char *, int);
+extern char    *conf_get_str(char *, char *);
+extern char    *conf_get_section(char *, char *, char *);
+extern void     conf_init(void);
+extern int      conf_match_num(char *, char *, int);
+extern void     conf_reinit(void);
+extern int      conf_remove(int, char *, char *);
+extern int      conf_remove_section(int, char *);
+extern void     conf_report(void);
+
+/*
+ * Convert letter from upper case to lower case
+ */
+static inline void upper2lower(char *str)
+{
+	char c;
+
+	while ((c = tolower(*str)))
+		*str++ = c;
+}
+#endif				/* _CONFFILE_H_ */
diff --git a/support/nfs/Makefile.am b/support/nfs/Makefile.am
index 096f56d..e9462fc 100644
--- a/support/nfs/Makefile.am
+++ b/support/nfs/Makefile.am
@@ -4,7 +4,7 @@ noinst_LIBRARIES = libnfs.a
 libnfs_a_SOURCES = exports.c rmtab.c xio.c rpcmisc.c rpcdispatch.c \
 		   xlog.c xcommon.c wildmat.c nfsclient.c \
 		   nfsexport.c getfh.c nfsctl.c rpc_socket.c getport.c \
-		   svc_socket.c cacheio.c closeall.c nfs_mntent.c
+		   svc_socket.c cacheio.c closeall.c nfs_mntent.c conffile.c
 
 MAINTAINERCLEANFILES = Makefile.in
 
diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
new file mode 100644
index 0000000..b277c2a
--- /dev/null
+++ b/support/nfs/conffile.c
@@ -0,0 +1,962 @@
+/*	$OpenBSD: conf.c,v 1.55 2003/06/03 14:28:16 ho Exp $	*/
+/*	$EOM: conf.c,v 1.48 2000/12/04 02:04:29 angelos Exp $	*/
+
+/*
+ * Copyright (c) 1998, 1999, 2000, 2001 Niklas Hallqvist.  All rights reserved.
+ * Copyright (c) 2000, 2001, 2002 Håkan Olsson.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This code was written under funding by Ericsson Radio Systems.
+ */
+
+#include <sys/param.h>
+#include <sys/mman.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+#include <err.h>
+#include <syslog.h>
+
[...3202 lines suppressed...]
+The configuration file is made up of multiple sections 
+followed by variables associated with that section.
+A section is defined by a string enclosed by 
+.BR [
+and 
+.BR ]
+branches.
+Variables are assignment statements that assign values 
+to particular variables using the  
+.BR = 
+operator, as in 
+.BR Proto=Tcp .
+Sections are broken up into three basic categories:
+Global options, Server options and Mount Point options.
+.HP
+.B [ NFSMount_Global_Options ]
+- This statically named section
+defines all of the global mount options that can be 
+applied to every NFS mount.
+.HP
+.B [ Server \(lqServer_Name\(rq ] 
+- This section defines all the mount options that should 
+be used on mounts to a particular NFS server. The 
+.I \(lqServer_Name\(rq
+strings needs to be surrounded by '\(lq' and 
+be an exact match of the server name used in the 
+.B mount
+command. 
+.HP
+.B [ MountPoint \(lqMount_Point\(rq ]
+- This section defines all the mount options that 
+should be used on a particular mount point.
+The 
+.I \(lqMount_Point\(rq
+string needs to be surrounded by '\(lq' and be an 
+exact match of the mount point used in the 
+.BR mount 
+command.
+.SH EXAMPLES
+.PP
+These are some example lines of how sections and variables
+are defined in the configuration file.
+.PP
+[ NFSMount_Global_Options ]
+.br
+    Proto=Tcp
+.RS
+.HP
+The TCP protocol will be used on every NFS mount.
+.HP
+.RE
+[ Server \(lqnfsserver.foo.com\(rq ]
+.br
+    rsize=32k
+.br
+    wsize=32k
+.HP
+.RS
+A 33k (32768 bytes) block size will be used as the read and write
+size on all mounts to the 'nfsserver.foo.com' server.
+.HP
+.RE
+.BR 
+[ MountPoint \(lq/export/home\(rq ]
+.br
+    Background=True
+.RS
+.HP
+All mounts to the '/export/home' export will be performed in
+the background (i.e. done asynchronously).
+.HP
+.SH FILES
+.TP 10n
+.I /etc/nfsmount.conf
+Default NFS mount configuration file
+.PD
+.SH SEE ALSO
+.BR nfs (5),
+.BR mount (8),
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 9bbbfb3..e4e2f22 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -564,7 +564,7 @@ static void write_fsloc(FILE *f, struct exportent *ep, char *path)
 	release_replicas(servers);
 }
 
-static void write_secinfo(FILE *f, struct exportent *ep)
+static void write_secinfo(FILE *f, struct exportent *ep, int flag_mask)
 {
 	struct sec_entry *p;
 
@@ -578,7 +578,7 @@ static void write_secinfo(FILE *f, struct exportent *ep)
 	qword_printint(f, p - ep->e_secinfo);
 	for (p = ep->e_secinfo; p->flav; p++) {
 		qword_printint(f, p->flav->fnum);
-		qword_printint(f, p->flags);
+		qword_printint(f, p->flags & flag_mask);
 	}
 
 }
@@ -590,16 +590,14 @@ static int dump_to_cache(FILE *f, char *domain, char *path, struct exportent *ex
 	qword_printint(f, time(0)+30*60);
 	if (exp) {
 		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);
+		int flag_mask = different_fs ? ~NFSEXP_FSID : ~0;
+
+		qword_printint(f, exp->e_flags & flag_mask);
 		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);
+		write_secinfo(f, exp, flag_mask);
  		if (exp->e_uuid == NULL || different_fs) {
  			char u[16];
  			if (get_uuid(path, NULL, 16, u)) {
diff --git a/utils/nfsstat/nfsstat.c b/utils/nfsstat/nfsstat.c
index 7e9f327..fa46d5d 100644
--- a/utils/nfsstat/nfsstat.c
+++ b/utils/nfsstat/nfsstat.c
@@ -30,8 +30,8 @@ static unsigned int	cltproc2info[20], cltproc2info_old[20];	/* NFSv2 call counts
 static unsigned int	srvproc3info[24], srvproc3info_old[24];	/* NFSv3 call counts ([0] == 22) */
 static unsigned int	cltproc3info[24], cltproc3info_old[24];	/* NFSv3 call counts ([0] == 22) */
 static unsigned int	srvproc4info[4], srvproc4info_old[4];	/* NFSv4 call counts ([0] == 2) */
-static unsigned int	cltproc4info[37], cltproc4info_old[37];	/* NFSv4 call counts ([0] == 35) */
-static unsigned int	srvproc4opsinfo[42], srvproc4opsinfo_old[42];	/* NFSv4 call counts ([0] == 40) */
+static unsigned int	cltproc4info[49], cltproc4info_old[49];	/* NFSv4 call counts ([0] == 35) */
+static unsigned int	srvproc4opsinfo[61], srvproc4opsinfo_old[61];	/* NFSv4 call counts ([0] == 40) */
 static unsigned int	srvnetinfo[5], srvnetinfo_old[5];	/* 0  # of received packets
 								 * 1  UDP packets
 								 * 2  TCP packets
@@ -93,24 +93,58 @@ static const char *	nfssrvproc4name[2] = {
 	"compound",
 };
 
-static const char *	nfscltproc4name[35] = {
+static const char *	nfscltproc4name[47] = {
 	"null",      "read",      "write",   "commit",      "open",        "open_conf",
 	"open_noat", "open_dgrd", "close",   "setattr",     "fsinfo",      "renew",
 	"setclntid", "confirm",   "lock",
 	"lockt",     "locku",     "access",  "getattr",     "lookup",      "lookup_root",
 	"remove",    "rename",    "link",    "symlink",     "create",      "pathconf",
 	"statfs",    "readlink",  "readdir", "server_caps", "delegreturn", "getacl",
-	"setacl",    "fs_locations"
+	"setacl",    "fs_locations",
+	/* nfsv4.1 client ops */
+	"exchange_id",
+	"create_ses",
+	"destroy_ses",
+	"sequence",
+	"get_lease_t",
+	"layoutget",
+	"layoutcommit",
+	"layoutreturn",
+	"getdevlist",
+	"getdevinfo",
+	/* nfsv4.1 pnfs client ops to data server only */
+	"ds_write",
+	"ds_commit",
 };
 
-static const char *     nfssrvproc4opname[40] = {
+static const char *     nfssrvproc4opname[59] = {
         "op0-unused",   "op1-unused", "op2-future",  "access",     "close",       "commit",
         "create",       "delegpurge", "delegreturn", "getattr",    "getfh",       "link",
         "lock",         "lockt",      "locku",       "lookup",     "lookup_root", "nverify",
         "open",         "openattr",   "open_conf",   "open_dgrd",  "putfh",       "putpubfh",
         "putrootfh",    "read",       "readdir",     "readlink",   "remove",      "rename",
         "renew",        "restorefh",  "savefh",      "secinfo",    "setattr",     "setcltid",
-        "setcltidconf", "verify",     "write",       "rellockowner"
+        "setcltidconf", "verify",     "write",       "rellockowner",
+	/* nfsv4.1 server ops */
+	"bc_ctl",
+	"bind_conn",
+	"exchange_id",
+	"create_ses",
+	"destroy_ses",
+	"free_stateid",
+	"getdirdeleg",
+	"getdevinfo",
+	"getdevlist",
+	"layoutcommit",
+	"layoutget",
+	"layoutreturn",
+	"secinfononam",
+	"sequence",
+	"set_ssv",
+	"test_stateid",
+	"want_deleg",
+	"destroy_clid",
+	"reclaim_comp",
 };
 
 #define LABEL_srvnet		"Server packet stats:\n"

nfs-utils-1.2.0-proots-rel5.patch:
 support/export/xtab.c        |    6 
 support/include/exportfs.h   |   11 +
 support/include/nfs/export.h |    3 
 support/include/nfslib.h     |    1 
 support/include/v4root.h     |   20 ++
 utils/mountd/Makefile.am     |    2 
 utils/mountd/auth.c          |    4 
 utils/mountd/cache.c         |   69 +++++--
 utils/mountd/v4root.c        |  409 +++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 506 insertions(+), 19 deletions(-)

Index: nfs-utils-1.2.0-proots-rel5.patch
===================================================================
RCS file: /cvs/pkgs/rpms/nfs-utils/devel/nfs-utils-1.2.0-proots-rel5.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- nfs-utils-1.2.0-proots-rel5.patch	13 Jul 2009 18:04:54 -0000	1.1
+++ nfs-utils-1.2.0-proots-rel5.patch	17 Aug 2009 13:21:49 -0000	1.2
@@ -1,6 +1,6 @@
-diff -up nfs-utils-1.2.0/support/export/xtab.c.save nfs-utils-1.2.0/support/export/xtab.c
---- nfs-utils-1.2.0/support/export/xtab.c.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/support/export/xtab.c	2009-07-13 13:50:38.000000000 -0400
+diff -up nfs-utils-1.2.0/support/export/xtab.c.orig nfs-utils-1.2.0/support/export/xtab.c
+--- nfs-utils-1.2.0/support/export/xtab.c.orig	2009-06-02 10:43:05.000000000 -0400
++++ nfs-utils-1.2.0/support/export/xtab.c	2009-08-17 07:33:13.000000000 -0400
 @@ -19,7 +19,9 @@
  #include "exportfs.h"
  #include "xio.h"
@@ -29,9 +29,9 @@ diff -up nfs-utils-1.2.0/support/export/
  			break;
  		case 2:
  			exp->m_exported = -1;/* may be exported */
-diff -up nfs-utils-1.2.0/support/include/exportfs.h.save nfs-utils-1.2.0/support/include/exportfs.h
---- nfs-utils-1.2.0/support/include/exportfs.h.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/support/include/exportfs.h	2009-07-13 13:49:51.000000000 -0400
+diff -up nfs-utils-1.2.0/support/include/exportfs.h.orig nfs-utils-1.2.0/support/include/exportfs.h
+--- nfs-utils-1.2.0/support/include/exportfs.h.orig	2009-06-02 10:43:05.000000000 -0400
++++ nfs-utils-1.2.0/support/include/exportfs.h	2009-08-17 07:33:13.000000000 -0400
 @@ -12,6 +12,17 @@
  #include <netdb.h>
  #include "nfslib.h"
@@ -50,9 +50,9 @@ diff -up nfs-utils-1.2.0/support/include
  enum {
  	MCL_FQDN = 0,
  	MCL_SUBNETWORK,
-diff -up nfs-utils-1.2.0/support/include/nfs/export.h.save nfs-utils-1.2.0/support/include/nfs/export.h
---- nfs-utils-1.2.0/support/include/nfs/export.h.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/support/include/nfs/export.h	2009-07-13 13:49:51.000000000 -0400
+diff -up nfs-utils-1.2.0/support/include/nfs/export.h.orig nfs-utils-1.2.0/support/include/nfs/export.h
+--- nfs-utils-1.2.0/support/include/nfs/export.h.orig	2009-06-02 10:43:05.000000000 -0400
++++ nfs-utils-1.2.0/support/include/nfs/export.h	2009-08-17 07:33:13.000000000 -0400
 @@ -24,6 +24,7 @@
  #define NFSEXP_FSID		0x2000
  #define	NFSEXP_CROSSMOUNT	0x4000
@@ -62,9 +62,9 @@ diff -up nfs-utils-1.2.0/support/include
 +#define NFSEXP_ALLFLAGS		0x1FFFF
  
  #endif /* _NSF_EXPORT_H */
-diff -up nfs-utils-1.2.0/support/include/nfslib.h.save nfs-utils-1.2.0/support/include/nfslib.h
---- nfs-utils-1.2.0/support/include/nfslib.h.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/support/include/nfslib.h	2009-07-13 13:49:51.000000000 -0400
+diff -up nfs-utils-1.2.0/support/include/nfslib.h.orig nfs-utils-1.2.0/support/include/nfslib.h
+--- nfs-utils-1.2.0/support/include/nfslib.h.orig	2009-08-17 07:31:52.000000000 -0400
++++ nfs-utils-1.2.0/support/include/nfslib.h	2009-08-17 07:33:13.000000000 -0400
 @@ -88,6 +88,7 @@ struct exportent {
  	int             e_fslocmethod;
  	char *          e_fslocdata;
@@ -74,8 +74,8 @@ diff -up nfs-utils-1.2.0/support/include
  };
  
 diff -up /dev/null nfs-utils-1.2.0/support/include/v4root.h
---- /dev/null	2009-07-13 07:44:43.606003629 -0400
-+++ nfs-utils-1.2.0/support/include/v4root.h	2009-07-13 13:49:57.000000000 -0400
+--- /dev/null	2009-08-13 17:25:29.612003011 -0400
++++ nfs-utils-1.2.0/support/include/v4root.h	2009-08-17 07:33:13.000000000 -0400
 @@ -0,0 +1,20 @@
 +/*
 + * Copyright (C) 2009 Red Hat <nfs at redhat.com>
@@ -97,9 +97,9 @@ diff -up /dev/null nfs-utils-1.2.0/suppo
 +extern void v4root_unset(void), v4root_set(void);
 +
 +#endif /* V4ROOT_H */
-diff -up nfs-utils-1.2.0/utils/mountd/auth.c.save nfs-utils-1.2.0/utils/mountd/auth.c
---- nfs-utils-1.2.0/utils/mountd/auth.c.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/utils/mountd/auth.c	2009-07-13 13:50:38.000000000 -0400
+diff -up nfs-utils-1.2.0/utils/mountd/auth.c.orig nfs-utils-1.2.0/utils/mountd/auth.c
+--- nfs-utils-1.2.0/utils/mountd/auth.c.orig	2009-06-02 10:43:05.000000000 -0400
++++ nfs-utils-1.2.0/utils/mountd/auth.c	2009-08-17 07:33:13.000000000 -0400
 @@ -20,6 +20,7 @@
  #include "exportfs.h"
  #include "mountd.h"
@@ -122,9 +122,9 @@ diff -up nfs-utils-1.2.0/utils/mountd/au
  	++counter;
  
  	return counter;
-diff -up nfs-utils-1.2.0/utils/mountd/cache.c.save nfs-utils-1.2.0/utils/mountd/cache.c
---- nfs-utils-1.2.0/utils/mountd/cache.c.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/utils/mountd/cache.c	2009-07-13 13:50:33.000000000 -0400
+diff -up nfs-utils-1.2.0/utils/mountd/cache.c.orig nfs-utils-1.2.0/utils/mountd/cache.c
+--- nfs-utils-1.2.0/utils/mountd/cache.c.orig	2009-08-17 07:31:52.000000000 -0400
++++ nfs-utils-1.2.0/utils/mountd/cache.c	2009-08-17 07:33:13.000000000 -0400
 @@ -32,23 +32,12 @@
  #include "xmalloc.h"
  #include "fsloc.h"
@@ -196,16 +196,7 @@ diff -up nfs-utils-1.2.0/utils/mountd/ca
  	if (found)
  		if (cache_export_ent(dom, found, found_path) < 0)
  			found = 0;
-@@ -590,7 +603,7 @@ static int dump_to_cache(FILE *f, char *
- 	qword_printint(f, time(0)+30*60);
- 	if (exp) {
- 		int different_fs = strcmp(path, exp->e_path) != 0;
--		
-+
- 		if (different_fs)
- 			qword_printint(f, exp->e_flags & ~NFSEXP_FSID);
- 		else
-@@ -631,6 +644,7 @@ void nfsd_export(FILE *f)
+@@ -629,6 +642,7 @@ void nfsd_export(FILE *f)
  	int found_type = 0;
  	struct in_addr addr;
  	struct hostent *he = NULL;
@@ -213,7 +204,7 @@ diff -up nfs-utils-1.2.0/utils/mountd/ca
  
  
  	if (readline(fileno(f), &lbuf, &lbuflen) != 1)
-@@ -665,10 +679,18 @@ void nfsd_export(FILE *f)
+@@ -663,10 +677,18 @@ void nfsd_export(FILE *f)
  				     path[l] == '/' &&
  				     is_mountpoint(path)))
  					/* ok */;
@@ -234,7 +225,7 @@ diff -up nfs-utils-1.2.0/utils/mountd/ca
  			if (use_ipaddr) {
  				if (he == NULL) {
  					if (!inet_aton(dom, &addr))
-@@ -707,17 +729,28 @@ void nfsd_export(FILE *f)
+@@ -705,17 +727,28 @@ void nfsd_export(FILE *f)
  	}
  
  	if (found) {
@@ -265,7 +256,7 @@ diff -up nfs-utils-1.2.0/utils/mountd/ca
  	if (dom) free(dom);
  	if (path) free(path);
  	if (he) free(he);
-@@ -745,7 +778,9 @@ void cache_open(void) 
+@@ -743,7 +776,9 @@ void cache_open(void) 
  		if (!manage_gids && cachelist[i].cache_handle == auth_unix_gid)
  			continue;
  		sprintf(path, "/proc/net/rpc/%s/channel", cachelist[i].cache_name);
@@ -276,9 +267,9 @@ diff -up nfs-utils-1.2.0/utils/mountd/ca
  	}
  }
  
-diff -up nfs-utils-1.2.0/utils/mountd/Makefile.am.save nfs-utils-1.2.0/utils/mountd/Makefile.am
---- nfs-utils-1.2.0/utils/mountd/Makefile.am.save	2009-07-13 13:49:23.000000000 -0400
-+++ nfs-utils-1.2.0/utils/mountd/Makefile.am	2009-07-13 13:49:57.000000000 -0400
+diff -up nfs-utils-1.2.0/utils/mountd/Makefile.am.orig nfs-utils-1.2.0/utils/mountd/Makefile.am
+--- nfs-utils-1.2.0/utils/mountd/Makefile.am.orig	2009-06-02 10:43:05.000000000 -0400
++++ nfs-utils-1.2.0/utils/mountd/Makefile.am	2009-08-17 07:33:13.000000000 -0400
 @@ -8,7 +8,7 @@ KPREFIX		= @kprefix@
  sbin_PROGRAMS	= mountd
  
@@ -289,8 +280,8 @@ diff -up nfs-utils-1.2.0/utils/mountd/Ma
  	       ../../support/nfs/libnfs.a \
  	       ../../support/misc/libmisc.a \
 diff -up /dev/null nfs-utils-1.2.0/utils/mountd/v4root.c
---- /dev/null	2009-07-13 07:44:43.606003629 -0400
-+++ nfs-utils-1.2.0/utils/mountd/v4root.c	2009-07-13 13:50:44.000000000 -0400
+--- /dev/null	2009-08-13 17:25:29.612003011 -0400
++++ nfs-utils-1.2.0/utils/mountd/v4root.c	2009-08-17 07:33:13.000000000 -0400
 @@ -0,0 +1,409 @@
 +/*
 + * Copyright (C) 2009 Red Hat <nfs at redhat.com>


Index: nfs-utils.spec
===================================================================
RCS file: /cvs/pkgs/rpms/nfs-utils/devel/nfs-utils.spec,v
retrieving revision 1.239
retrieving revision 1.240
diff -u -p -r1.239 -r1.240
--- nfs-utils.spec	16 Aug 2009 20:03:23 -0000	1.239
+++ nfs-utils.spec	17 Aug 2009 13:21:50 -0000	1.240
@@ -2,7 +2,7 @@ Summary: NFS utilities and supporting cl
 Name: nfs-utils
 URL: http://sourceforge.net/projects/nfs
 Version: 1.2.0
-Release: 9%{?dist}
+Release: 10%{?dist}
 Epoch: 1
 
 # group all 32bit related archs
@@ -24,8 +24,10 @@ Patch02: nfs-utils-1.1.0-exp-subtree-war
 
 Patch100: nfs-utils-1.2.1-rc1.patch
 Patch101: nfs-utils-1.2.1-rc2.patch
-Patch102: nfs-utils-1.2.0-proots-rel5.patch
-Patch103: nfs-utils-1.2.1-rc3.patch
+Patch102: nfs-utils-1.2.1-rc3.patch
+Patch103: nfs-utils-1.2.1-rc4.patch
+
+Patch200: nfs-utils-1.2.0-proots-rel5.patch
 
 Group: System Environment/Daemons
 Provides: exportfs    = %{epoch}:%{version}-%{release}
@@ -82,6 +84,8 @@ This package also contains the mount.nfs
 %patch102 -p1
 %patch103 -p1
 
+%patch200 -p1
+
 # Remove .orig files
 find . -name "*.orig" | xargs rm -f
 
@@ -101,7 +105,8 @@ CFLAGS="`echo $RPM_OPT_FLAGS $ARCH_OPT_F
     CFLAGS="$CFLAGS" \
     CPPFLAGS="$DEFINES" \
     LDFLAGS="-pie" \
-    --enable-mount
+    --enable-mount \
+    --enable-mountconfig
 
 make all
 
@@ -118,6 +123,7 @@ install -m 755 %{SOURCE12} $RPM_BUILD_RO
 install -m 755 %{SOURCE13} $RPM_BUILD_ROOT/etc/rc.d/init.d/rpcgssd
 install -m 755 %{SOURCE14} $RPM_BUILD_ROOT/etc/rc.d/init.d/rpcsvcgssd
 install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/nfs
+install -m 644 utils/mount/nfsmount.conf  $RPM_BUILD_ROOT/etc
 
 mkdir -p $RPM_BUILD_ROOT/var/lib/nfs/rpc_pipefs
 
@@ -215,6 +221,7 @@ fi
 %config /etc/rc.d/init.d/rpcgssd
 %config /etc/rc.d/init.d/rpcsvcgssd
 %config(noreplace) /etc/sysconfig/nfs
+%config(noreplace) /etc/nfsmount.conf
 %dir /var/lib/nfs/v4recovery
 %dir /var/lib/nfs/rpc_pipefs
 %dir /var/lib/nfs
@@ -249,6 +256,14 @@ fi
 %attr(4755,root,root)   /sbin/umount.nfs4
 
 %changelog
+* Mon Aug 17 2009 Steve Dickson <steved at redhat.com> 1.2.0-10
+- Added upstream 1.2.1-rc4 patch
+  - Fix bug when both crossmnt
+  - nfs(5): Add description of lookupcache mount option
+  - nfs(5): Remove trailing blanks
+  - Added nfs41 support to nfssat
+  - Added support for mount to us a configuration file.
+
 * Fri Aug 14 2009 Steve Dickson <steved at redhat.com> 1.2.0-9
 - Added upstream 1.2.1-rc3 patch
   - Add IPv6 support to nfsd




More information about the fedora-extras-commits mailing list