rpms/util-linux/devel util-linux-2.12a-nfs-noacl.patch, NONE, 1.1 util-linux-2.13-nfsmount-mountd-udp.patch, NONE, 1.1 util-linux.spec, 1.112, 1.113

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon May 1 14:56:53 UTC 2006


Author: steved

Update of /cvs/dist/rpms/util-linux/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv9872

Modified Files:
	util-linux.spec 
Added Files:
	util-linux-2.12a-nfs-noacl.patch 
	util-linux-2.13-nfsmount-mountd-udp.patch 
Log Message:
Added 'noacl' mount flag
Changed nfsmount to try udp before using tcp when rpc-ing
the remote rpc.mountd (iff -o tcp is not specified).
This drastically increases the total number of tcp mounts
that can happen at once (ala autofs).


util-linux-2.12a-nfs-noacl.patch:
 nfs.5        |    3 +++
 nfs_mount4.h |    1 +
 nfsmount.c   |   14 +++++++++++---
 3 files changed, 15 insertions(+), 3 deletions(-)

--- NEW FILE util-linux-2.12a-nfs-noacl.patch ---
--- util-linux-2.12a/mount/nfs.5.noacl	2005-11-15 21:59:15.000000000 -0500
+++ util-linux-2.12a/mount/nfs.5	2005-11-15 22:17:14.000000000 -0500
@@ -240,6 +240,9 @@ significant performance penalty but it a
 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
--- util-linux-2.12a/mount/nfs_mount4.h.noacl	2005-11-15 21:59:14.000000000 -0500
+++ util-linux-2.12a/mount/nfs_mount4.h	2005-11-15 22:05:25.000000000 -0500
@@ -56,6 +56,7 @@ struct nfs_mount_data {
 #define NFS_MOUNT_KERBEROS	0x0100	/* 3 */
 #define NFS_MOUNT_NONLM		0x0200	/* 3 */
 #define NFS_MOUNT_BROKEN_SUID	0x0400	/* 4 */
+#define NFS_MOUNT_NOACL     0x0800  /* 4 */
 #define NFS_MOUNT_SECFLAVOUR	0x2000	/* 5 */
 
 /* security pseudoflavors */
--- util-linux-2.12a/mount/nfsmount.c.noacl	2005-11-15 21:59:15.000000000 -0500
+++ util-linux-2.12a/mount/nfsmount.c	2005-11-15 22:15:12.000000000 -0500
@@ -909,6 +909,10 @@ parse_options(char *old_opts, struct nfs
 						goto bad_option;
 					data->flags |= NFS_MOUNT_BROKEN_SUID;
 				}
+			} else if (!strcmp(opt, "acl")) {
+				data->flags &= ~NFS_MOUNT_NOACL;
+				if (!val)
+					data->flags |= NFS_MOUNT_NOACL;
 #endif
 			} else {
 			bad_option:
@@ -1080,19 +1084,23 @@ nfsmount(const char *spec, const char *n
 	printf("mountprog = %d, mountvers = %d, nfsprog = %d, nfsvers = %d\n",
 	       mnt_pmap->pm_prog, mnt_pmap->pm_vers,
 	       nfs_pmap->pm_prog, nfs_pmap->pm_vers);
-	printf("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d\n",
+	printf("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d ",
 	       (data.flags & NFS_MOUNT_SOFT) != 0,
 	       (data.flags & NFS_MOUNT_INTR) != 0,
 	       (data.flags & NFS_MOUNT_POSIX) != 0,
 	       (data.flags & NFS_MOUNT_NOCTO) != 0,
 	       (data.flags & NFS_MOUNT_NOAC) != 0);
 #if NFS_MOUNT_VERSION >= 2
-	printf("tcp = %d\n",
+	printf("tcp = %d ",
 	       (data.flags & NFS_MOUNT_TCP) != 0);
 #endif
+#if NFS_MOUNT_VERSION >= 4
+	printf("noacl = %d ", (data.flags & NFS_MOUNT_NOACL) != 0);
+#endif
 #if NFS_MOUNT_VERSION >= 5
-	printf("sec = %u\n", data.pseudoflavor);
+	printf("sec = %u ", data.pseudoflavor);
 #endif
+	printf("\n");
 #endif
 
 	data.version = nfs_mount_version;

util-linux-2.13-nfsmount-mountd-udp.patch:
 nfsmount.c |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

--- NEW FILE util-linux-2.13-nfsmount-mountd-udp.patch ---
--- util-linux-2.12a/mount/nfsmount.c.save	2005-11-15 17:11:03.000000000 -0500
+++ util-linux-2.12a/mount/nfsmount.c	2005-11-15 21:39:57.000000000 -0500
@@ -134,13 +134,22 @@ void rpc_strerror()
 }
 
 /* Define the order in which to probe for UDP/TCP services */
+enum plist {
+	use_tcp = 0,
+	udp_tcp,
+	udp_only,
+};
 static const u_int *
-proto_probelist(const int use_tcp)
+proto_probelist(enum plist list)
 {
+	static const u_int probe_udp_tcp[] = { IPPROTO_UDP, IPPROTO_TCP, 0 };
 	static const u_int probe_both[] = { IPPROTO_TCP, IPPROTO_UDP, 0 };
 	static const u_int probe_udponly[] = { IPPROTO_UDP, 0 };
-	if (use_tcp)
+
+	if (list == use_tcp)
 		return probe_both;
+	if (list == udp_tcp)
+		return probe_udp_tcp;
 	return probe_udponly;
 }
 
@@ -434,7 +443,7 @@ clnt_ping(struct sockaddr_in *saddr, con
 	if (sock != -1)
 		close(sock);
 
-	if (stat != RPC_PROGVERSMISMATCH)
+	if (stat == RPC_SUCCESS)
 		return 1;
 
  out_bad:
@@ -471,8 +480,7 @@ probe_port(clnt_addr_t *server, 
 				if (clnt_ping(saddr, prog, *p_vers, *p_prot))
 					goto out_ok;
 			}
-		} else if (rpc_createerr.cf_stat != RPC_PROGNOTREGISTERED)
-			break;
+		}
 		if (!prot) {
 			if (*++p_prot)
 				continue;
@@ -507,7 +515,7 @@ probe_nfsport(clnt_addr_t *nfs_server)
 	if (pmap->pm_vers && pmap->pm_prot && pmap->pm_port)
 		return 1;
 	probe_vers = nfs_probelist(MAX_NFSPROT);
-	probe_prot = proto_probelist(HAVE_RELIABLE_TCP);
+	probe_prot = proto_probelist(HAVE_RELIABLE_TCP ? use_tcp : udp_only);
 	return probe_port(nfs_server, probe_vers, probe_prot);
 }
 
@@ -521,7 +529,7 @@ probe_mntport(clnt_addr_t *mnt_server)
 	if (pmap->pm_vers && pmap->pm_prot && pmap->pm_port)
 		return 1;
 	probe_vers = mnt_probelist(MAX_MNTPROT);
-	probe_prot = proto_probelist(HAVE_RELIABLE_TCP);
+	probe_prot = proto_probelist(HAVE_RELIABLE_TCP ? udp_tcp : udp_only);
 	return probe_port(mnt_server, probe_vers, probe_prot);
 }
 


Index: util-linux.spec
===================================================================
RCS file: /cvs/dist/rpms/util-linux/devel/util-linux.spec,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -r1.112 -r1.113
--- util-linux.spec	9 Mar 2006 22:51:31 -0000	1.112
+++ util-linux.spec	1 May 2006 14:56:50 -0000	1.113
@@ -180,6 +180,12 @@
 Patch227: util-linux-2.13-umount-sysfs.patch
 # 182553 - fdisk -l inside xen guest shows no disks
 Patch228: util-linux-2.13-fdisk-xvd.patch
+# 169042 - Changed nfsmount to try udp before using tcp when rpc-ing
+#          the remote rpc.mountd (iff -o tcp is not specified).
+Patch229: util-linux-2.13-nfsmount-mountd-udp.patch
+# 151549 - Added 'noacl' mount flag
+Patch230: util-linux-2.13-nfs-noacl.patch
+
 
 # When adding patches, please make sure that it is easy to find out what bug # the 
 # patch fixes.
@@ -260,6 +266,8 @@
 %patch226 -p1
 %patch227 -p1
 %patch228 -p1
+%patch229 -p1
+%patch230 -p1
 
 %build
 unset LINGUAS || :
@@ -644,6 +652,13 @@
 /sbin/losetup
 
 %changelog
+* Mon May  1 2006 Steve Dickson <steved at redhat.com> 2.13-0.21
+- fix #151549 - Added 'noacl' mount flag
+- fix #169042 - Changed nfsmount to try udp before using tcp when rpc-ing
+                the remote rpc.mountd (iff -o tcp is not specified).
+                This drastically increases the total number of tcp mounts
+                that can happen at once (ala autofs).
+
 * Wed Mar  9 2006 Jesse Keating <jkeating at redhat.com> 2.13-0.20
 - Better calling of restorecon as suggested by Bill Nottingham
 - prereq restorecon to avoid ordering issues




More information about the fedora-cvs-commits mailing list