SOURCES: nfs-utils-CITI_NFS4.patch - removed obsolete patchsets - ...

baggins baggins at pld-linux.org
Thu Apr 5 18:56:37 CEST 2007


Author: baggins                      Date: Thu Apr  5 16:56:37 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- removed obsolete patchsets
- updated to 1.1.0-rc1

---- Files affected:
SOURCES:
   nfs-utils-CITI_NFS4.patch (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: SOURCES/nfs-utils-CITI_NFS4.patch
diff -u SOURCES/nfs-utils-CITI_NFS4.patch:1.3 SOURCES/nfs-utils-CITI_NFS4.patch:1.4
--- SOURCES/nfs-utils-CITI_NFS4.patch:1.3	Sat Mar 31 01:38:41 2007
+++ SOURCES/nfs-utils-CITI_NFS4.patch	Thu Apr  5 18:56:32 2007
@@ -1,116 +1,88 @@
+Add secinfo processing.
 
+From: Fred Isaman <iisaman at citi.umich.edu>
 
-The complete set of CITI nfs-utils patches rolled into one patch.
+Signed-off-by: Fred Isaman <iisaman at citi.umich.edu>
 
-Changes since 1.0.10-CITI_NFS4_ALL-4:
+Add secinfo processing.
+---
+
+ support/include/nfslib.h  |    6 ++
+ support/nfs/exports.c     |  145 ++++++++++++++++++++++++++++++++++++++++++++-
+ utils/exportfs/exportfs.c |    3 +
+ utils/mountd/cache.c      |   14 ++++
+ 4 files changed, 164 insertions(+), 4 deletions(-)
+
+Try to use kernel function to determine supported Kerberos enctypes.
 
- * Update to nfs-utils-1.0.11
+From: Kevin Coffman <kwc at citi.umich.edu>
+
+Signed-off-by: Kevin Coffman <kwc at citi.umich.edu>
+
+This patch replaces a hard-coded list with a function to obtain
+the Kerberos encryption types that the kernel's rpcsec_gss code
+can support.  Defaults to old behavior if kernel does not supply
+information.
+---
 
- * Include missing fslocations files and a small change so that
-   fslocations works.
+ utils/gssd/gssd.c      |    2 
+ utils/gssd/krb5_util.c |  228 +++++++++++++++++++++++++++++++++++++-----------
+ utils/gssd/krb5_util.h |    2 
+ 3 files changed, 182 insertions(+), 50 deletions(-)
 
- * Include several mount patches from Steve Dickson
+Add EXPERIMENTAL support for non-DES encryption types.
 
- * Add a patch to put the mount.nfs[4] and umount.nfs[4] in the
-   place where mount expects them during install.
+From: Kevin Coffman <kwc at citi.umich.edu>
 
+Signed-off-by: Kevin Coffman <kwc at citi.umich.edu>
 
+Adds EXPERIMENTAL support for non-DES encryption types.  Sends a new
+format of context information to the kernel.
+(Requires kernel support to do anything useful.)
 ---
 
- nfs-utils-1.0.11-kwc/Makefile.in                        |  136 
- nfs-utils-1.0.11-kwc/aclocal.m4                         |  250 
- nfs-utils-1.0.11-kwc/configure                          | 4436 +++++++++++-----
- nfs-utils-1.0.11-kwc/linux-nfs/Makefile.in              |   88 
- nfs-utils-1.0.11-kwc/support/Makefile.in                |  120 
- nfs-utils-1.0.11-kwc/support/export/Makefile.in         |  113 
- nfs-utils-1.0.11-kwc/support/export/export.c            |    2 
- nfs-utils-1.0.11-kwc/support/include/Makefile.in        |  124 
- nfs-utils-1.0.11-kwc/support/include/fstab.h            |    8 
- nfs-utils-1.0.11-kwc/support/include/nfs/Makefile.in    |   88 
- nfs-utils-1.0.11-kwc/support/include/nfs_mntent.h       |    8 
- nfs-utils-1.0.11-kwc/support/include/nfslib.h           |    6 
- nfs-utils-1.0.11-kwc/support/include/rpcsvc/Makefile.in |   88 
- nfs-utils-1.0.11-kwc/support/include/sys/Makefile.in    |  120 
- nfs-utils-1.0.11-kwc/support/include/sys/fs/Makefile.in |   88 
- nfs-utils-1.0.11-kwc/support/misc/Makefile.in           |  113 
- nfs-utils-1.0.11-kwc/support/nfs/Makefile.in            |  113 
- nfs-utils-1.0.11-kwc/support/nfs/conn.c                 |    2 
- nfs-utils-1.0.11-kwc/support/nfs/exports.c              |  149 
- nfs-utils-1.0.11-kwc/support/nfs/fstab.c                |   57 
- nfs-utils-1.0.11-kwc/tools/Makefile.in                  |  120 
- nfs-utils-1.0.11-kwc/tools/getiversion/Makefile.in      |  126 
- nfs-utils-1.0.11-kwc/tools/locktest/Makefile.in         |  126 
- nfs-utils-1.0.11-kwc/tools/nlmtest/Makefile.in          |   88 
- nfs-utils-1.0.11-kwc/tools/rpcdebug/Makefile.in         |  135 
- nfs-utils-1.0.11-kwc/tools/rpcgen/Makefile.in           |  198 
- nfs-utils-1.0.11-kwc/utils/Makefile.in                  |  120 
- nfs-utils-1.0.11-kwc/utils/exportfs/Makefile.in         |  130 
- nfs-utils-1.0.11-kwc/utils/exportfs/exportfs.c          |    5 
- nfs-utils-1.0.11-kwc/utils/exportfs/exports.man         |   14 
- nfs-utils-1.0.11-kwc/utils/gssd/Makefile.in             |  356 -
- nfs-utils-1.0.11-kwc/utils/gssd/context.h               |    6 
- nfs-utils-1.0.11-kwc/utils/gssd/context_lucid.c         |  391 +
- nfs-utils-1.0.11-kwc/utils/gssd/context_mit.c           |  256 
- nfs-utils-1.0.11-kwc/utils/gssd/gssd.c                  |   17 
- nfs-utils-1.0.11-kwc/utils/gssd/gssd.h                  |    3 
- nfs-utils-1.0.11-kwc/utils/gssd/gssd_main_loop.c        |    4 
- nfs-utils-1.0.11-kwc/utils/gssd/gssd_proc.c             |   22 
- nfs-utils-1.0.11-kwc/utils/gssd/krb5_util.c             |  228 
- nfs-utils-1.0.11-kwc/utils/gssd/krb5_util.h             |    2 
- nfs-utils-1.0.11-kwc/utils/idmapd/Makefile.in           |  124 
- nfs-utils-1.0.11-kwc/utils/lockd/Makefile.in            |  126 
- nfs-utils-1.0.11-kwc/utils/mount/Makefile.am            |   15 
- nfs-utils-1.0.11-kwc/utils/mount/Makefile.in            |  140 
- nfs-utils-1.0.11-kwc/utils/mount/mount.c                |  211 
- nfs-utils-1.0.11-kwc/utils/mount/nfs4mount.c            |    3 
- nfs-utils-1.0.11-kwc/utils/mount/nfs_mount.h            |    4 
- nfs-utils-1.0.11-kwc/utils/mount/nfsmount.c             |   70 
- nfs-utils-1.0.11-kwc/utils/mount/nfsumount.c            |   53 
- nfs-utils-1.0.11-kwc/utils/mountd/Makefile.in           |  182 
- nfs-utils-1.0.11-kwc/utils/mountd/cache.c               |   16 
- nfs-utils-1.0.11-kwc/utils/mountd/fsloc.c               |  188 
- nfs-utils-1.0.11-kwc/utils/mountd/fsloc.h               |   50 
- nfs-utils-1.0.11-kwc/utils/nfsd/Makefile.in             |  126 
- nfs-utils-1.0.11-kwc/utils/nfsstat/Makefile.in          |  124 
- nfs-utils-1.0.11-kwc/utils/rquotad/Makefile.in          |  166 
- nfs-utils-1.0.11-kwc/utils/showmount/Makefile.in        |  132 
- nfs-utils-1.0.11-kwc/utils/statd/Makefile.in            |  126 
- 58 files changed, 6974 insertions(+), 3338 deletions(-)
+ utils/gssd/context.h       |    6 +
+ utils/gssd/context_lucid.c |  391 ++++++++++++++++++++++++++++++++++++++++++--
+ utils/gssd/context_mit.c   |  254 +++++++++++++++++++++++++----
+ 3 files changed, 603 insertions(+), 48 deletions(-)
 
---- nfs-utils-1.0.12/utils/mountd/cache.c.orig	2007-02-27 05:55:40.000000000 +0100
-+++ nfs-utils-1.0.12/utils/mountd/cache.c	2007-03-11 00:38:34.746218136 +0100
-@@ -445,6 +445,19 @@
- 	release_replicas(servers);
- }
+diff --git a/support/include/nfslib.h b/support/include/nfslib.h
+index c085029..6d7743d 100644
+--- a/support/include/nfslib.h
++++ b/support/include/nfslib.h
+@@ -57,6 +57,9 @@ enum cle_maptypes {
+ #define	_PATH_PROC_EXPORTS_ALT	"/proc/fs/nfsd/exports"
+ #endif
  
-+static void write_secinfo(FILE *f, struct exportent *ep)
-+{
-+	int *p;
-+	qword_print(f, "secinfo");
-+	for (p=ep->e_secinfo_order; *p>=0; p++)
-+		; /* Do nothing */
-+	qword_printint(f, p - ep->e_secinfo_order);
-+	for (p=ep->e_secinfo_order; *p>=0; p++) {
-+		qword_print(f, secflavor_name[*p]);
-+		qword_printint(f, ep->e_secinfo_flags[*p]);
-+	}
-+}
++#define SECFLAVOR_COUNT 7
++extern char *secflavor_name[SECFLAVOR_COUNT];
 +
- static int dump_to_cache(FILE *f, char *domain, char *path, struct exportent *exp)
- {
- 	qword_print(f, domain);
-@@ -466,6 +479,7 @@
-  			qword_print(f, "uuid");
-  			qword_printhex(f, exp->e_uuid, 16);
-  		}
-+		write_secinfo(f, exp);
- 	}
- 	return qword_eol(f);
- }
---- nfs-utils-1.0.12/support/nfs/exports.c.orig	2007-02-27 05:55:40.000000000 +0100
-+++ nfs-utils-1.0.12/support/nfs/exports.c	2007-03-11 00:39:09.496198423 +0100
-@@ -51,6 +51,10 @@
- static int	parsemaptype(char *type);
+ /*
+  * Data related to a single exports entry as returned by getexportent.
+  * FIXME: export options should probably be parsed at a later time to
+@@ -83,6 +86,8 @@ struct exportent {
+ 	int             e_fslocmethod;
+ 	char *          e_fslocdata;
+ 	char *		e_uuid;
++	int		e_secinfo_order[SECFLAVOR_COUNT+1];
++	int		e_secinfo_flags[SECFLAVOR_COUNT];
+ };
+ 
+ struct rmtabent {
+@@ -96,6 +101,7 @@ struct rmtabent {
+  */
+ void			setexportent(char *fname, char *type);
+ struct exportent *	getexportent(int,int);
++void 			secinfo_show(FILE *fp, struct exportent *ep);
+ void			putexportent(struct exportent *xep);
+ void			endexportent(void);
+ struct exportent *	mkexportent(char *hname, char *path, char *opts);
+diff --git a/support/nfs/exports.c b/support/nfs/exports.c
+index 294e1c9..af9ab2f 100644
+--- a/support/nfs/exports.c
++++ b/support/nfs/exports.c
+@@ -51,6 +51,10 @@ static int	parsenum(char **cpp);
+ static int	parsenum(char **cpp);
  static void	freesquash(void);
  static void	syntaxerr(char *msg);
 +static unsigned int parse_flavors(char *str, struct exportent *ep);
@@ -120,7 +92,7 @@
  
  void
  setexportent(char *fname, char *type)
-@@ -102,6 +106,7 @@
+@@ -102,6 +106,7 @@ getexportent(int fromkernel, int fromexp
  		def_ee.e_mountpoint = NULL;
  		def_ee.e_fslocmethod = FSLOC_NONE;
  		def_ee.e_fslocdata = NULL;
@@ -128,7 +100,7 @@
  		def_ee.e_nsquids = 0;
  		def_ee.e_nsqgids = 0;
  
-@@ -182,6 +187,19 @@
+@@ -182,6 +187,19 @@ getexportent(int fromkernel, int fromexp
  }
  
  void
@@ -148,7 +120,7 @@
  putexportent(struct exportent *ep)
  {
  	FILE	*fp;
-@@ -199,7 +217,6 @@
+@@ -199,7 +217,6 @@ putexportent(struct exportent *ep)
  			fprintf(fp, "%c", esc[i]);
  
  	fprintf(fp, "\t%s(", ep->e_hostname);
@@ -156,7 +128,7 @@
  	fprintf(fp, "%ssync,", (ep->e_flags & NFSEXP_ASYNC)? "a" : "");
  	fprintf(fp, "%swdelay,", (ep->e_flags & NFSEXP_GATHERED_WRITES)?
  				"" : "no_");
-@@ -276,7 +293,9 @@
+@@ -276,7 +293,9 @@ #endif
  			else
  				fprintf(fp, "%d,", id[i]);
  	}
@@ -167,7 +139,7 @@
  }
  
  void
-@@ -325,6 +344,7 @@
+@@ -325,6 +344,7 @@ mkexportent(char *hname, char *path, cha
  	ee.e_mountpoint = NULL;
  	ee.e_fslocmethod = FSLOC_NONE;
  	ee.e_fslocdata = NULL;
@@ -175,7 +147,7 @@
  	ee.e_nsquids = 0;
  	ee.e_nsqgids = 0;
  	ee.e_uuid = NULL;
-@@ -376,6 +396,9 @@
+@@ -376,6 +396,9 @@ parseopts(char *cp, struct exportent *ep
  	int	had_subtree_opt = 0;
  	char 	*flname = efname?efname:"command line";
  	int	flline = efp?efp->x_line:0;
@@ -185,7 +157,7 @@
  
  	squids = ep->e_squids; nsquids = ep->e_nsquids;
  	sqgids = ep->e_sqgids; nsqgids = ep->e_nsqgids;
-@@ -398,9 +421,9 @@
+@@ -398,9 +421,9 @@ parseopts(char *cp, struct exportent *ep
  
  		/* process keyword */
  		if (strcmp(opt, "ro") == 0)
@@ -197,7 +169,7 @@
  		else if (!strcmp(opt, "secure"))
  			ep->e_flags &= ~NFSEXP_INSECURE_PORT;
  		else if (!strcmp(opt, "insecure"))
-@@ -522,6 +545,10 @@
+@@ -522,6 +545,10 @@ #endif
  		} else if (strncmp(opt, "replicas=", 9) == 0) {
  			ep->e_fslocmethod = FSLOC_REPLICA;
  			ep->e_fslocdata = strdup(opt+9);
@@ -208,7 +180,7 @@
  		} else {
  			xlog(L_ERROR, "%s:%d: unknown keyword \"%s\"\n",
  					flname, flline, opt);
-@@ -533,6 +560,12 @@
+@@ -533,6 +560,12 @@ #endif
  			cp++;
  	}
  
@@ -221,7 +193,7 @@
  	ep->e_squids = squids;
  	ep->e_sqgids = sqgids;
  	ep->e_nsquids = nsquids;
-@@ -663,3 +696,107 @@
+@@ -663,3 +696,107 @@ syntaxerr(char *msg)
  			efname, efp?efp->x_line:0, msg);
  }
  
@@ -329,9 +301,11 @@
 +		active >>= 1;
 +	}
 +}
---- nfs-utils-1.0.12/utils/exportfs/exportfs.c.orig	2007-02-27 05:55:40.000000000 +0100
-+++ nfs-utils-1.0.12/utils/exportfs/exportfs.c	2007-03-11 00:39:30.569399317 +0100
-@@ -376,10 +376,12 @@
+diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
+index 22e13a3..30732b8 100644
+--- a/utils/exportfs/exportfs.c
++++ b/utils/exportfs/exportfs.c
+@@ -376,10 +376,12 @@ dump(int verbose)
  				continue;
  			}
  			c = '(';
@@ -344,7 +318,7 @@
  			if (ep->e_flags & NFSEXP_ASYNC)
  				c = dumpopt(c, "async");
  			if (ep->e_flags & NFSEXP_GATHERED_WRITES)
-@@ -433,6 +435,7 @@
+@@ -433,6 +435,7 @@ #ifdef DEBUG
  				break;
  #endif
  			}
@@ -352,1239 +326,56 @@
  			printf("%c\n", (c != '(')? ')' : ' ');
  		}
  	}
-diff -puN utils/exportfs/exports.man~CITI_NFS4_ALL utils/exportfs/exports.man
---- nfs-utils-1.0.11/utils/exportfs/exports.man~CITI_NFS4_ALL	2007-02-26 18:52:07.928367000 -0500
-+++ nfs-utils-1.0.11-kwc/utils/exportfs/exports.man	2007-02-26 18:52:08.691050000 -0500
-@@ -348,6 +348,20 @@ If the client asks for alternative locat
- will be given this list of alternatives. (Note that actual replication
- of the filesystem must be handled elsewhere.)
- 
-+.TP
-+.IR refer= path at host[+host][:path at host[+host]]
-+A client referencing the export point will be directed to choose from
-+the given list an alternative location for the filesystem.
-+(Note that the server must have a mountpoint here, though a different
-+filesystem is not required; so, for example,
-+.IR "mount --bind" " /path /path"
-+is sufficient.)
-+.TP
-+.IR replicas= path at host[+host][:path at host[+host]]
-+If the client asks for alternative locations for the export point, it
-+will be given this list of alternatives. (Note that actual replication
-+of the filesystem must be handled elsewhere.)
-+
- .SS User ID Mapping
- .PP
- .I nfsd
-diff -puN /dev/null utils/mountd/fsloc.c
---- /dev/null	2007-02-26 18:43:11.800773059 -0500
-+++ nfs-utils-1.0.11-kwc/utils/mountd/fsloc.c	2007-02-26 18:52:08.724017000 -0500
-@@ -0,0 +1,188 @@
-+/*
-+ * COPYRIGHT (c) 2006
-+ * THE REGENTS OF THE UNIVERSITY OF MICHIGAN
-+ * ALL RIGHTS RESERVED
-+ *
-+ * Permission is granted to use, copy, create derivative works
-+ * and redistribute this software and such derivative works
-+ * for any purpose, so long as the name of The University of
-+ * Michigan is not used in any advertising or publicity
-+ * pertaining to the use of distribution of this software
-+ * without specific, written prior authorization.  If the
-+ * above copyright notice or any other identification of the
-+ * University of Michigan is included in any copy of any
-+ * portion of this software, then the disclaimer below must
-+ * also be included.
-+ *
-+ * THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION
-+ * FROM THE UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY
-+ * PURPOSE, AND WITHOUT WARRANTY BY THE UNIVERSITY OF
-+ * MICHIGAN OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
-+ * WITHOUT LIMITATION THE IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-+ * REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE
-+ * FOR ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR
-+ * CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING
-+ * OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN
-+ * IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGES.
-+ */
-+
-+#include <stdlib.h>
-+#include <string.h>
-+#include <syslog.h>
-+
-+#include "fsloc.h"
-+#include "exportfs.h"
-+
-+/* Debugging tool: prints out @servers info to syslog */
-+static void replicas_print(struct servers *sp)
-+{
-+	int i;
-+	if (!sp) {
-+		xlog(L_NOTICE, "NULL replicas pointer\n");
-+		return;
-+	}
-+	xlog(L_NOTICE, "replicas listsize=%i\n", sp->h_num);
-+	for (i=0; i<sp->h_num; i++) {
-+		xlog(L_NOTICE, "    %s:%s\n",
-+		       sp->h_mp[i]->h_host, sp->h_mp[i]->h_path);
-+	}
-+}
-+
-+#ifdef DEBUG
-+/* Called by setting 'Method = stub' in config file.  Just returns
-+ * some syntactically correct gibberish for testing purposes.
-+ */
-+static struct servers *method_stub(char *key)
-+{
-+	struct servers *sp;
-+	struct mount_point *mp;
-+
-+	xlog(L_NOTICE, "called method_stub\n");
-+	sp = malloc(sizeof(struct servers));
-+	if (!sp)
-+		return NULL;
-+	mp = calloc(1, sizeof(struct mount_point));
-+	if (!mp) {
-+		free(sp);
-+		return NULL;
-+	}
-+	sp->h_num = 1;
-+	sp->h_mp[0] = mp;
-+	mp->h_host = strdup("stub_server");
-+	mp->h_path = strdup("/my/test/path");
-+	sp->h_referral = 1;
-+	return sp;
-+}
-+#endif	/* DEBUG */
-+
-+/* Scan @list, which is a NULL-terminated array of strings of the
-+ * form path at host[+host], and return corresponding servers structure.
-+ */
-+static struct servers *parse_list(char **list)
-+{
-+	int i;
-+	struct servers *res;
-+	struct mount_point *mp;
-+	char *cp;
-+
-+	res = malloc(sizeof(struct servers));
-+	if (!res)
-+		return NULL;
-+	res->h_num = 0;
-+
-+	/* parse each of the answers in sucession. */
-+	for (i=0; list[i] && i<FSLOC_MAX_LIST; i++) {
-+		mp = calloc(1, sizeof(struct mount_point));
-+		if (!mp) {
-+			release_replicas(res);
-+			return NULL;
-+		}
-+		cp = strchr(list[i], '@');
-+		if ((!cp) || list[i][0] != '/') {
-+			xlog(L_WARNING, "invalid entry '%s'", list[i]);
-+			continue; /* XXX Need better error handling */
-+		}
-+		res->h_mp[i] = mp;
-+		res->h_num++;
-+		mp->h_path = strndup(list[i], cp - list[i]);
-+		cp++;
-+		mp->h_host = strdup(cp);
-+		/* hosts are '+' separated, kernel expects ':' separated */
-+		while ( (cp = strchr(mp->h_host, '+')) )
-+		       *cp = ':';
-+	}
-+	return res;
-+}
-+
-+/* @data is a string of form path at host[+host][:path at host[+host]]
-+ */
-+static struct servers *method_list(char *data)
-+{
-+	char *copy, *ptr=data;
-+	char **list;
-+	int i, listsize;
-+	struct servers *rv=NULL;
-+
-+	xlog(L_NOTICE, "method_list(%s)\n", data);
-+	for (ptr--, listsize=1; ptr; ptr=index(ptr, ':'), listsize++)
-+		ptr++;
-+	list = malloc(listsize * sizeof(char *));
-+	copy = strdup(data);
-+	if (copy)
-+		xlog(L_NOTICE, "converted to %s\n", copy);
-+	if (list && copy) {
-+		ptr = copy;
-+		for (i=0; i<listsize; i++) {
-+			list[i] = strsep(&ptr, ":");
-+		}
-+		rv = parse_list(list);
-+	}
-+	free(copy);
-+	free(list);
-+	replicas_print(rv);
-+	return rv;
-+}
-+
-+/* Returns appropriately filled struct servers, or NULL if had a problem */
-+struct servers *replicas_lookup(int method, char *data, char *key)
-+{
-+	struct servers *sp=NULL;
-+	switch(method) {
-+	case FSLOC_NONE:
-+		break;
-+	case FSLOC_REFER:
-+		sp = method_list(data);
-+		if (sp)
-+			sp->h_referral = 1;
-+		break;
-+	case FSLOC_REPLICA:
-+		sp = method_list(data);
-+		if (sp)
-+			sp->h_referral = 0;
-+		break;
-+#ifdef DEBUG
-+	case FSLOC_STUB:
-+		sp = method_stub(data);
-+		break;
-+#endif
-+	default:
-+		xlog(L_WARNING, "Unknown method = %i", method);
-+	}
-+	replicas_print(sp);
-+	return sp;
-+}
-+
-+void release_replicas(struct servers *server)
-+{
-+	int i;
-+
-+	if (!server) return;
-+	for (i = 0; i < server->h_num; i++) {
-+		free(server->h_mp[i]->h_host);
-+		free(server->h_mp[i]->h_path);
-+		free(server->h_mp[i]);
-+	}
-+	free(server);
-+}
-diff -puN /dev/null utils/mountd/fsloc.h
---- /dev/null	2007-02-26 18:43:11.800773059 -0500
-+++ nfs-utils-1.0.11-kwc/utils/mountd/fsloc.h	2007-02-26 18:52:08.764976000 -0500
-@@ -0,0 +1,50 @@
-+/*
-+ * COPYRIGHT (c) 2006
-+ * THE REGENTS OF THE UNIVERSITY OF MICHIGAN
-+ * ALL RIGHTS RESERVED
-+ *
-+ * Permission is granted to use, copy, create derivative works
-+ * and redistribute this software and such derivative works
-+ * for any purpose, so long as the name of The University of
-+ * Michigan is not used in any advertising or publicity
-+ * pertaining to the use of distribution of this software
-+ * without specific, written prior authorization.  If the
-+ * above copyright notice or any other identification of the
-+ * University of Michigan is included in any copy of any
-+ * portion of this software, then the disclaimer below must
-+ * also be included.
-+ *
-+ * THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION
-+ * FROM THE UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY
-+ * PURPOSE, AND WITHOUT WARRANTY BY THE UNIVERSITY OF
-+ * MICHIGAN OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
-+ * WITHOUT LIMITATION THE IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-+ * REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE
-+ * FOR ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR
-+ * CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING
-+ * OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN
-+ * IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGES.
-+ */
-+
-+#ifndef FSLOC_H
-+#define FSLOC_H
-+
-+#define FSLOC_MAX_LIST 40
-+
-+struct mount_point {
-+	char *h_host;
-+	char *h_path;
-+};
-+
-+struct servers {
-+	int h_num;
-+	struct mount_point *h_mp[FSLOC_MAX_LIST];
-+	int h_referral;		/* 0=replica, 1=referral */
-+};
-+
-+struct servers *replicas_lookup(int method, char *data, char *key);
-+void release_replicas(struct servers *server);
-+
-+#endif /* FSLOC_H */
-diff -puN support/include/fstab.h~CITI_NFS4_ALL support/include/fstab.h
---- nfs-utils-1.0.11/support/include/fstab.h~CITI_NFS4_ALL	2007-02-26 18:52:09.366915000 -0500
-+++ nfs-utils-1.0.11-kwc/support/include/fstab.h	2007-02-26 18:52:11.399987000 -0500
-@@ -3,6 +3,10 @@
- 
- #include "nfs_mntent.h"
- 
-+#ifndef _PATH_FSTAB
-+#define _PATH_FSTAB "/etc/fstab"
-+#endif
-+
- int mtab_is_writable(void);
- int mtab_does_not_exist(void);
- 
-@@ -16,6 +20,10 @@ struct mntentchn *getmntoptfile (const c
- struct mntentchn *getmntdirbackward (const char *dir, struct mntentchn *mc);
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/nfs-utils-CITI_NFS4.patch?r1=1.3&r2=1.4&f=u



More information about the pld-cvs-commit mailing list