From: Greg Kroah-Hartman Date: Mon, 15 Jul 2013 16:57:27 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.9.11~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fb6f8900c3b289ab31776f7852135bab5bc81249;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: cifs-use-sensible-file-nlink-values-if-unprovided.patch --- diff --git a/queue-3.4/cifs-use-sensible-file-nlink-values-if-unprovided.patch b/queue-3.4/cifs-use-sensible-file-nlink-values-if-unprovided.patch new file mode 100644 index 00000000000..2674fcaf851 --- /dev/null +++ b/queue-3.4/cifs-use-sensible-file-nlink-values-if-unprovided.patch @@ -0,0 +1,39 @@ +From 6658b9f70ebca5fc0795b1d6d733996af1e2caa7 Mon Sep 17 00:00:00 2001 +From: Steve French +Date: Thu, 4 Jul 2013 14:38:48 -0500 +Subject: CIFS use sensible file nlink values if unprovided + +From: Steve French + +commit 6658b9f70ebca5fc0795b1d6d733996af1e2caa7 upstream. + +Certain servers may not set the NumberOfLinks field in query file/path +info responses. In such a case, cifs_inode_needs_reval() assumes that +all regular files are hardlinks and triggers revalidation, leading to +excessive and unnecessary network traffic. + +This change hardcodes cf_nlink (and subsequently i_nlink) when not +returned by the server, similar to what already occurs in cifs_mkdir(). + +Signed-off-by: David Disseldorp +Signed-off-by: Steve French +Signed-off-by: Greg Kroah-Hartman + +--- + fs/cifs/inode.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/fs/cifs/inode.c ++++ b/fs/cifs/inode.c +@@ -549,6 +549,11 @@ cifs_all_info_to_fattr(struct cifs_fattr + fattr->cf_mode &= ~(S_IWUGO); + + fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks); ++ if (fattr->cf_nlink < 1) { ++ cFYI(1, "replacing bogus file nlink value %u\n", ++ fattr->cf_nlink); ++ fattr->cf_nlink = 1; ++ } + } + + fattr->cf_uid = cifs_sb->mnt_uid; diff --git a/queue-3.4/series b/queue-3.4/series new file mode 100644 index 00000000000..f1c5d1dfa7b --- /dev/null +++ b/queue-3.4/series @@ -0,0 +1 @@ +cifs-use-sensible-file-nlink-values-if-unprovided.patch