Message ID | 20140915163554.GC15712@kroah.com |
---|---|
State | New |
Headers | show |
On Mon, Sep 15, 2014 at 9:35 AM, Greg KH <greg@kroah.com> wrote: > > Thanks, now queued up. Note, I had to change the 3.10-stable patch a > bit due to some rejects. Ahh. Yes. it still uses the old D_HASHBITS/HASHMASK macros in up until and including 3.12. You could have just backported 482db9066199 ("dcache.c: get rid of pointless macros") too, but your resolution looks perfectly fine too. Linus -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 09/15/2014, 06:45 PM, Linus Torvalds wrote: > On Mon, Sep 15, 2014 at 9:35 AM, Greg KH <greg@kroah.com> wrote: >> >> Thanks, now queued up. Note, I had to change the 3.10-stable patch a >> bit due to some rejects. > > Ahh. Yes. it still uses the old D_HASHBITS/HASHMASK macros in up until > and including 3.12. > > You could have just backported 482db9066199 ("dcache.c: get rid of > pointless macros") too Ok, I went this path for 3.12 as 482db9066199 is simple enough. Thanks!
On Mon, Sep 15, 2014 at 09:45:40AM -0700, Linus Torvalds wrote: > On Mon, Sep 15, 2014 at 9:35 AM, Greg KH <greg@kroah.com> wrote: > > > > Thanks, now queued up. Note, I had to change the 3.10-stable patch a > > bit due to some rejects. > > Ahh. Yes. it still uses the old D_HASHBITS/HASHMASK macros in up until > and including 3.12. > > You could have just backported 482db9066199 ("dcache.c: get rid of > pointless macros") too, but your resolution looks perfectly fine too. Ah, much easier, I've gone and done that now, thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- queue-3.16/vfs-fix-bad-hashing-of-dentries.patch 2014-09-15 09:27:57.072950053 -0700 +++ queue-3.10/vfs-fix-bad-hashing-of-dentries.patch 2014-09-15 09:29:06.851839582 -0700 @@ -76,13 +76,13 @@ --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -106,8 +106,7 @@ static inline struct hlist_bl_head *d_ha +@@ -108,8 +108,7 @@ static inline struct hlist_bl_head *d_ha unsigned int hash) { hash += (unsigned long) parent / L1_CACHE_BYTES; -- hash = hash + (hash >> d_hash_shift); -- return dentry_hashtable + (hash & d_hash_mask); -+ return dentry_hashtable + hash_32(hash, d_hash_shift); +- hash = hash + (hash >> D_HASHBITS); +- return dentry_hashtable + (hash & D_HASHMASK); ++ return dentry_hashtable + hash_32(hash, D_HASHBITS); } /* Statistics gathering. */ @@ -96,7 +96,7 @@ #include <asm/uaccess.h> #include "internal.h" -@@ -1629,8 +1630,7 @@ static inline int nested_symlink(struct +@@ -1647,8 +1648,7 @@ static inline int can_lookup(struct inod static inline unsigned int fold_hash(unsigned long hash) {