In message <1256152779-10054-2-git-send-email-vaurora@xxxxxxxxxx>, Valerie Aurora writes: > From: Jan Blunck <jblunck@xxxxxxx> > > Break early when somebody tries to rehash an already hashed dentry. > Otherwise this leads to interesting corruptions in the dcache hash table > later on. > > Signed-off-by: Jan Blunck <jblunck@xxxxxxx> > Signed-off-by: Valerie Aurora <vaurora@xxxxxxxxxx> > --- > fs/dcache.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/fs/dcache.c b/fs/dcache.c > index 9e5cd3c..38bf982 100644 > --- a/fs/dcache.c > +++ b/fs/dcache.c > @@ -1550,6 +1550,7 @@ void d_rehash(struct dentry * entry) > { > spin_lock(&dcache_lock); > spin_lock(&entry->d_lock); > + BUG_ON(!d_unhashed(entry)); > _d_rehash(entry); > spin_unlock(&entry->d_lock); > spin_unlock(&dcache_lock); This patch seems unrelated to union mounts. If so, can you get it pushed upstream sooner? Or is this a debugging patch useful only when developing union mounts? You also said that it can lead to "ineresting corruptions". What kind of corruptions exactly? Also, would it make more sense to allow _d_rehash() to hash in an unhashed dentry for the first time? Erez. PS. apologies for the belated review. I need a thanksgiving break once a month to catch up to emails. :-) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html