[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