summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-08-01 12:05:48 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-01 12:05:48 -0700
commitb3d798eae426b73c3105edfec1a4686ce2e82938 (patch)
tree900210509c8e0d5793a5d9b01d7a542e1b862e74
parentd0891817193536f0015565ae7be22f73356b6c50 (diff)
downloadstable-queue-b3d798eae426b73c3105edfec1a4686ce2e82938.tar.gz
delete .39 cifs patches that were causing build breakage
-rw-r--r--queue-2.6.39/cifs-fix-wsize-negotiation-to-respect-max-buffer-size-and.patch89
-rw-r--r--queue-2.6.39/cifs-lower-default-and-max-wsize-to-what-2.6.39-can-handle.patch71
-rw-r--r--queue-2.6.39/series2
3 files changed, 0 insertions, 162 deletions
diff --git a/queue-2.6.39/cifs-fix-wsize-negotiation-to-respect-max-buffer-size-and.patch b/queue-2.6.39/cifs-fix-wsize-negotiation-to-respect-max-buffer-size-and.patch
deleted file mode 100644
index 8f0d31868f..0000000000
--- a/queue-2.6.39/cifs-fix-wsize-negotiation-to-respect-max-buffer-size-and.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 1190f6a067bf27b2ee7e06ec0776a17fe0f6c4d8 Mon Sep 17 00:00:00 2001
-From: Jeff Layton <jlayton@redhat.com>
-Date: Wed, 22 Jun 2011 17:33:57 -0400
-Subject: cifs: fix wsize negotiation to respect max buffer size and
- active signing (try #4)
-
-From: Jeff Layton <jlayton@redhat.com>
-
-commit 1190f6a067bf27b2ee7e06ec0776a17fe0f6c4d8 upstream.
-
-Hopefully last version. Base signing check on CAP_UNIX instead of
-tcon->unix_ext, also clean up the comments a bit more.
-
-According to Hongwei Sun's blog posting here:
-
- http://blogs.msdn.com/b/openspecification/archive/2009/04/10/smb-maximum-transmit-buffer-size-and-performance-tuning.aspx
-
-CAP_LARGE_WRITEX is ignored when signing is active. Also, the maximum
-size for a write without CAP_LARGE_WRITEX should be the maxBuf that
-the server sent in the NEGOTIATE request.
-
-Fix the wsize negotiation to take this into account. While we're at it,
-alter the other wsize definitions to use sizeof(WRITE_REQ) to allow for
-slightly larger amounts of data to potentially be written per request.
-
-Signed-off-by: Jeff Layton <jlayton@redhat.com>
-Signed-off-by: Steve French <sfrench@us.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- fs/cifs/connect.c | 33 ++++++++++++++++++++-------------
- 1 file changed, 20 insertions(+), 13 deletions(-)
-
---- a/fs/cifs/connect.c
-+++ b/fs/cifs/connect.c
-@@ -2650,21 +2650,21 @@ static void setup_cifs_sb(struct smb_vol
-
- /*
- * When the server supports very large writes via POSIX extensions, we can
-- * allow up to 2^24 - PAGE_CACHE_SIZE.
-+ * allow up to 2^24-1, minus the size of a WRITE_AND_X header, not including
-+ * the RFC1001 length.
- *
- * Note that this might make for "interesting" allocation problems during
-- * writeback however (as we have to allocate an array of pointers for the
-- * pages). A 16M write means ~32kb page array with PAGE_CACHE_SIZE == 4096.
-+ * writeback however as we have to allocate an array of pointers for the
-+ * pages. A 16M write means ~32kb page array with PAGE_CACHE_SIZE == 4096.
- */
--#define CIFS_MAX_WSIZE ((1<<24) - PAGE_CACHE_SIZE)
-+#define CIFS_MAX_WSIZE ((1<<24) - 1 - sizeof(WRITE_REQ) + 4)
-
- /*
-- * When the server doesn't allow large posix writes, default to a wsize of
-- * 128k - PAGE_CACHE_SIZE -- one page less than the largest frame size
-- * described in RFC1001. This allows space for the header without going over
-- * that by default.
-+ * When the server doesn't allow large posix writes, only allow a wsize of
-+ * 128k minus the size of the WRITE_AND_X header. That allows for a write up
-+ * to the maximum size described by RFC1002.
- */
--#define CIFS_MAX_RFC1001_WSIZE (128 * 1024 - PAGE_CACHE_SIZE)
-+#define CIFS_MAX_RFC1002_WSIZE (128 * 1024 - sizeof(WRITE_REQ) + 4)
-
- /*
- * The default wsize is 1M. find_get_pages seems to return a maximum of 256
-@@ -2683,11 +2683,18 @@ cifs_negotiate_wsize(struct cifsTconInfo
-
- /* can server support 24-bit write sizes? (via UNIX extensions) */
- if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP))
-- wsize = min_t(unsigned int, wsize, CIFS_MAX_RFC1001_WSIZE);
-+ wsize = min_t(unsigned int, wsize, CIFS_MAX_RFC1002_WSIZE);
-
-- /* no CAP_LARGE_WRITE_X? Limit it to 16 bits */
-- if (!(server->capabilities & CAP_LARGE_WRITE_X))
-- wsize = min_t(unsigned int, wsize, USHRT_MAX);
-+ /*
-+ * no CAP_LARGE_WRITE_X or is signing enabled without CAP_UNIX set?
-+ * Limit it to max buffer offered by the server, minus the size of the
-+ * WRITEX header, not including the 4 byte RFC1001 length.
-+ */
-+ if (!(server->capabilities & CAP_LARGE_WRITE_X) ||
-+ (!(server->capabilities & CAP_UNIX) &&
-+ (server->sec_mode & (SECMODE_SIGN_ENABLED|SECMODE_SIGN_REQUIRED))))
-+ wsize = min_t(unsigned int, wsize,
-+ server->maxBuf - sizeof(WRITE_REQ) + 4);
-
- /* hard limit of CIFS_MAX_WSIZE */
- wsize = min_t(unsigned int, wsize, CIFS_MAX_WSIZE);
diff --git a/queue-2.6.39/cifs-lower-default-and-max-wsize-to-what-2.6.39-can-handle.patch b/queue-2.6.39/cifs-lower-default-and-max-wsize-to-what-2.6.39-can-handle.patch
deleted file mode 100644
index 7c9705bb9d..0000000000
--- a/queue-2.6.39/cifs-lower-default-and-max-wsize-to-what-2.6.39-can-handle.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From jlayton@redhat.com Mon Aug 1 11:49:28 2011
-From: Jeff Layton <jlayton@redhat.com>
-Date: Wed, 13 Jul 2011 06:40:37 -0400
-Subject: cifs: lower default and max wsize to what 2.6.39 can handle
-To: stable@kernel.org
-Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, helge.hafting@hist.no
-Message-ID: <1310553637-26792-1-git-send-email-jlayton@redhat.com>
-
-From: Jeff Layton <jlayton@redhat.com>
-
-This patch is intended for 2.6.39-stable kernels only and is needed to
-fix a regression introduced in 2.6.39. Prior to 2.6.39, when signing was
-enabled on a socket the client only sent single-page writes. This
-changed with commit ca83ce3, which made signed and unsigned connections
-use the same codepaths for write calls.
-
-This caused a regression when working with windows servers. Windows
-machines will reject writes larger than the MaxBufferSize when signing
-is active, but do not clear the CAP_LARGE_WRITE_X flag in the protocol
-negotiation. The upshot is that when signing is active, windows servers
-often reject large writes from the client in 2.6.39.
-
-Because 3.0 adds support for larger wsize values, simply cherry picking
-the upstream patches that fix the wsize negotiation isn't sufficient to
-fix this issue. We also need to alter the maximum and default values to
-something suitable for 2.6.39.
-
-Cc: <stable@kernel.org> # .39.x: f7910cb: cifs: clean up wsize negotiation and allow for larger wsize
-Cc: <stable@kernel.org> # .39.x: 1190f6a: cifs: fix wsize negotiation to respect max buffer size and active signing (try #4)
-Signed-off-by: Jeff Layton <jlayton@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
----
- fs/cifs/connect.c | 20 ++++----------------
- 1 file changed, 4 insertions(+), 16 deletions(-)
-
---- a/fs/cifs/connect.c
-+++ b/fs/cifs/connect.c
-@@ -2648,16 +2648,8 @@ static void setup_cifs_sb(struct smb_vol
- "mount option supported");
- }
-
--/*
-- * When the server supports very large writes via POSIX extensions, we can
-- * allow up to 2^24-1, minus the size of a WRITE_AND_X header, not including
-- * the RFC1001 length.
-- *
-- * Note that this might make for "interesting" allocation problems during
-- * writeback however as we have to allocate an array of pointers for the
-- * pages. A 16M write means ~32kb page array with PAGE_CACHE_SIZE == 4096.
-- */
--#define CIFS_MAX_WSIZE ((1<<24) - 1 - sizeof(WRITE_REQ) + 4)
-+/* Prior to 3.0, cifs couldn't handle writes larger than this */
-+#define CIFS_MAX_WSIZE (PAGEVEC_SIZE * PAGE_CACHE_SIZE)
-
- /*
- * When the server doesn't allow large posix writes, only allow a wsize of
-@@ -2666,12 +2658,8 @@ static void setup_cifs_sb(struct smb_vol
- */
- #define CIFS_MAX_RFC1002_WSIZE (128 * 1024 - sizeof(WRITE_REQ) + 4)
-
--/*
-- * The default wsize is 1M. find_get_pages seems to return a maximum of 256
-- * pages in a single call. With PAGE_CACHE_SIZE == 4k, this means we can fill
-- * a single wsize request with a single call.
-- */
--#define CIFS_DEFAULT_WSIZE (1024 * 1024)
-+/* Make the default the same as the max */
-+#define CIFS_DEFAULT_WSIZE CIFS_MAX_WSIZE
-
- static unsigned int
- cifs_negotiate_wsize(struct cifsTconInfo *tcon, struct smb_vol *pvolume_info)
diff --git a/queue-2.6.39/series b/queue-2.6.39/series
index 9ebdd115fe..c42a42fbbc 100644
--- a/queue-2.6.39/series
+++ b/queue-2.6.39/series
@@ -60,8 +60,6 @@ mm-vmscan-do-not-use-page_count-without-a-page-pin.patch
mm-compaction-abort-compaction-if-too-many-pages-are-isolated-and-caller-is-asynchronous-v2.patch
xfs-restart-busy-extent-search-after-node-removal.patch
cifs-clean-up-wsize-negotiation-and-allow-for-larger-wsize.patch
-cifs-fix-wsize-negotiation-to-respect-max-buffer-size-and.patch
-cifs-lower-default-and-max-wsize-to-what-2.6.39-can-handle.patch
mm-vmscan-do-not-apply-pressure-to-slab-if-we-are-not-applying-pressure-to-zone.patch
mm-vmscan-only-read-new_classzone_idx-from-pgdat-when-reclaiming-successfully.patch
revert-dibxxxx-get-rid-of-dma-buffer-on-stack.patch