From: Greg Kroah-Hartman Date: Mon, 15 Jul 2013 16:48:34 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.9.11~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8de4574f66b9269e5928264155f30f8943e345ec;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: cifs-use-sensible-file-nlink-values-if-unprovided.patch --- diff --git a/queue-3.10/cifs-use-sensible-file-nlink-values-if-unprovided.patch b/queue-3.10/cifs-use-sensible-file-nlink-values-if-unprovided.patch new file mode 100644 index 00000000000..afd7e24009d --- /dev/null +++ b/queue-3.10/cifs-use-sensible-file-nlink-values-if-unprovided.patch @@ -0,0 +1,37 @@ +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 + +diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c +index 20efd81..449b6cf 100644 +--- a/fs/cifs/inode.c ++++ b/fs/cifs/inode.c +@@ -558,6 +558,11 @@ cifs_all_info_to_fattr(struct cifs_fattr *fattr, FILE_ALL_INFO *info, + fattr->cf_mode &= ~(S_IWUGO); + + fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks); ++ if (fattr->cf_nlink < 1) { ++ cifs_dbg(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.10/series b/queue-3.10/series new file mode 100644 index 00000000000..f1c5d1dfa7b --- /dev/null +++ b/queue-3.10/series @@ -0,0 +1 @@ +cifs-use-sensible-file-nlink-values-if-unprovided.patch