[kernel/f16] Update patch for 867344
Josh Boyer
jwboyer at fedoraproject.org
Tue Oct 30 17:07:35 UTC 2012
commit 3c9b3f75acb72d2af5c1472f86cd609a16a4b723
Author: Josh Boyer <jwboyer at redhat.com>
Date: Tue Oct 30 13:06:45 2012 -0400
Update patch for 867344
...all-cifs_lookup-on-hashed-negative-dentry.patch | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
---
diff --git a/dont-call-cifs_lookup-on-hashed-negative-dentry.patch b/dont-call-cifs_lookup-on-hashed-negative-dentry.patch
index 88b35e2..4e25f9d 100644
--- a/dont-call-cifs_lookup-on-hashed-negative-dentry.patch
+++ b/dont-call-cifs_lookup-on-hashed-negative-dentry.patch
@@ -1,21 +1,19 @@
@@ -, +, @@
- negative dentry
- BUG_ON(!d_unhashed(entry));
- fs/cifs/dir.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ cifs_atomic_open
+ fs/cifs/dir.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
--- a/fs/cifs/dir.c
+++ a/fs/cifs/dir.c
-@@ -398,7 +398,12 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
+@@ -398,6 +398,12 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
* in network traffic in the other paths.
*/
if (!(oflags & O_CREAT)) {
-- struct dentry *res = cifs_lookup(inode, direntry, 0);
-+ struct dentry *res;
-+
-+ if (!direntry->d_inode)
++ /* Check for hashed negative dentry. We have already revalidated
++ * the dentry and it is fine. No need to perform another lookup.
++ */
++ if (!d_unhashed(direntry))
+ return -ENOENT;
+
-+ res = cifs_lookup(inode, direntry, 0);
+ struct dentry *res = cifs_lookup(inode, direntry, 0);
if (IS_ERR(res))
return PTR_ERR(res);
-
More information about the scm-commits
mailing list