[kernel/f18] Update patch for 867344
Josh Boyer
jwboyer at fedoraproject.org
Tue Oct 30 17:07:46 UTC 2012
commit 8eac4e9c082b025dde905aa3957c023c03c4c5c6
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