Re: [PATCH 01/41] VFS: BUG() if somebody tries to rehash an already hashed dentry
From: Erez Zadok
Date: Sun Nov 29 2009 - 21:08:50 EST
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/