rpms/kernel/devel linux-2.6-nfs-noreaddirplus.patch, NONE, 1.1 kernel-2.6.spec, 1.3155, 1.3156

Dave Jones (davej) fedora-extras-commits at redhat.com
Tue May 15 14:35:04 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4478

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-nfs-noreaddirplus.patch 
Log Message:
* Tue May 15 2007 Dave Jones <davej at redhat.com>
- NFS: Added support to turn off the NFSv3 READDIRPLUS RPC


linux-2.6-nfs-noreaddirplus.patch:

--- NEW FILE linux-2.6-nfs-noreaddirplus.patch ---
>From davej  Tue May 15 10:20:48 2007
Return-Path: <SteveD at redhat.com>
X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on
	gelk.kernelslacker.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,
	UNPARSEABLE_RELAY autolearn=ham version=3.1.8
Received: from pobox.devel.redhat.com [10.11.255.8]
	by gelk.kernelslacker.org with IMAP (fetchmail-6.3.6)
	for <davej at localhost> (single-drop); Tue, 15 May 2007 10:20:48 -0400 (EDT)
Received: from pobox.devel.redhat.com ([unix socket])
	 by pobox.devel.redhat.com (Cyrus v2.2.12-Invoca-RPM-2.2.12-8.1.RHEL4) with LMTPA;
	 Tue, 15 May 2007 10:15:17 -0400
X-Sieve: CMU Sieve 2.2
Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254])
	by pobox.devel.redhat.com (8.13.1/8.13.1) with ESMTP id l4FEFH1d017196
	for <davej at pobox.devel.redhat.com>; Tue, 15 May 2007 10:15:17 -0400
Received: from lacrosse.corp.redhat.com (lacrosse.corp.redhat.com [172.16.52.154])
	by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id l4FEFGvZ011912
	for <davej at RedHat.com>; Tue, 15 May 2007 10:15:16 -0400
Received: from [10.12.32.32] (dickson.boston.devel.redhat.com [10.12.32.32])
	by lacrosse.corp.redhat.com (8.12.11.20060308/8.11.6) with ESMTP id l4FEFFWE014460
	for <davej at redhat.com>; Tue, 15 May 2007 10:15:15 -0400
Message-ID: <4649C06E.1050306 at RedHat.com>
Date: Tue, 15 May 2007 10:15:10 -0400
From: Steve Dickson <SteveD at redhat.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.8) Gecko/20061105 Red Hat/1.0.6-0.1.el4 SeaMonkey/1.0.6
MIME-Version: 1.0
To: Dave Jone <davej at redhat.com>
Subject: Turning off READDIRPLUS 
Content-Type: multipart/mixed;
 boundary="------------050000030402040802070505"
Status: RO
Content-Length: 2863
Lines: 80

This is a multi-part message in MIME format.
--------------050000030402040802070505
Content-Type: text/plain; charset=ISO-8859-1; format=flawed
Content-Transfer-Encoding: 7bit

Hey Dave,

The attached patch allow READDIRPLUS to be disabled. I was
hoping it would make into the 2.6.21 kernel but it appears
it will be 2.6.22 or .23...

Would you mind adding this in a bit early? I've already
added mount option to nfs-utils so all that's needed
is this kernel part...

steved.

--------------050000030402040802070505
Content-Type: text/x-patch;
 name="nfs-nordirplus.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="nfs-nordirplus.patch"

commit 74dd34e6e8bb127ff4c182423154b294729b663b
Author: Steve Dickson <steved at redhat.com>
Date:   Sat Apr 14 17:01:15 2007 -0400

    NFS: Added support to turn off the NFSv3 READDIRPLUS RPC.
    
    READDIRPLUS can be a performance hindrance when the client is working with
    large directories. In addition, some servers still have bugs in their
    implementations (e.g. Tru64 returns wrong values for the fsid).
    
    Add a mount flag to enable users to turn it off at mount time following the
    implementation in Apple's NFS client.
    
    Signed-off-by: Steve Dickson <steved at redhat.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>

diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 2190e6c..5bd03b9 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -618,7 +618,8 @@ static int nfs_init_server(struct nfs_server *server, const struct nfs_mount_dat
 	if (clp->cl_nfsversion == 3) {
 		if (server->namelen == 0 || server->namelen > NFS3_MAXNAMLEN)
 			server->namelen = NFS3_MAXNAMLEN;
-		server->caps |= NFS_CAP_READDIRPLUS;
+		if (!(data->flags & NFS_MOUNT_NORDIRPLUS))
+			server->caps |= NFS_CAP_READDIRPLUS;
 	} else {
 		if (server->namelen == 0 || server->namelen > NFS2_MAXNAMLEN)
 			server->namelen = NFS2_MAXNAMLEN;
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 719464a..ca20d3c 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -290,6 +290,7 @@ static void nfs_show_mount_options(struct seq_file *m, struct nfs_server *nfss,
 		{ NFS_MOUNT_NOAC, ",noac", "" },
 		{ NFS_MOUNT_NONLM, ",nolock", "" },
 		{ NFS_MOUNT_NOACL, ",noacl", "" },
+		{ NFS_MOUNT_NORDIRPLUS, ",nordirplus", "" },
 		{ 0, NULL, NULL }
 	};
 	const struct proc_nfs_info *nfs_infop;
diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
index 659c754..cc8b9c5 100644
--- a/include/linux/nfs_mount.h
+++ b/include/linux/nfs_mount.h
@@ -61,6 +61,7 @@ struct nfs_mount_data {
 #define NFS_MOUNT_NOACL		0x0800	/* 4 */
 #define NFS_MOUNT_STRICTLOCK	0x1000	/* reserved for NFSv4 */
 #define NFS_MOUNT_SECFLAVOUR	0x2000	/* 5 */
+#define NFS_MOUNT_NORDIRPLUS	0x4000	/* 5 */
 #define NFS_MOUNT_FLAGMASK	0xFFFF
 
 #endif

--------------050000030402040802070505--



Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.3155
retrieving revision 1.3156
diff -u -r1.3155 -r1.3156
--- kernel-2.6.spec	14 May 2007 15:54:53 -0000	1.3155
+++ kernel-2.6.spec	15 May 2007 14:34:30 -0000	1.3156
@@ -559,6 +559,7 @@
 Patch1681: linux-2.6-xfs-umount-fix.patch
 Patch1690: linux-2.6-PT_LOAD-align.patch
 Patch1700: linux-2.6-dvb-spinlock.patch
+Patch1710: linux-2.6-nfs-noreaddirplus.patch
 Patch1720: linux-2.6-proc-self-maps-fix.patch
 Patch1740: linux-2.6-softlockup-disable.patch
 Patch1770: linux-2.6-optimise-spinlock-debug.patch
@@ -1276,6 +1277,8 @@
 %patch1690 -p1
 # DVB spinlock bug
 %patch1700 -p1
+# NFS: Added support to turn off the NFSv3 READDIRPLUS RPC.
+%patch1710 -p1
 # setuid /proc/self/maps fix.
 %patch1720 -p1
 # Add a safety net to softlockup so that it doesn't prevent installs.
@@ -2330,6 +2333,9 @@
 %endif
 
 %changelog
+* Tue May 15 2007 Dave Jones <davej at redhat.com>
+- NFS: Added support to turn off the NFSv3 READDIRPLUS RPC
+
 * Mon May 14 2007 Dave Jones <davej at redhat.com>
 - Additional taint printk in slab corruption checks.
 




More information about the fedora-extras-commits mailing list