Re: [PATCH 01/41] VFS: BUG() if somebody tries to rehash an already hashed dentry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux