Re: [PATCH 0/6] nilfs2: remove own inode hash table

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

 



On Tue, 24 Aug 2010 11:32:14 -0400, Christoph Hellwig wrote:
> On Tue, Aug 24, 2010 at 09:58:23PM +0900, Ryusuke Konishi wrote:
> > Actually, I recently wrote a patchset to unify all super block
> > instances on one device into one sb, which makes the inodes outlive
> > superblock eliminable.
> 
> Yes, that's how we handle things everywhere, including btrfs with
> it's subvolumes and snapshots.
> 
> > But the patchset has a problem that it cannot shrink a number of
> > versions of namespace when unmounting all snapshots and a current time
> > instance.
> 
> Can you explain the issue in more detail?

Ok, I'll try.

The current nilfs attaches each snapshot on a mountpoint, instead of
making a sub directory like ".snap/xxx/" in a namespace.

In the patchset, I binded

 a) The root directory of the current filesystem onto sb->s_root and
    mnt->mnt_root.

 b) The root directory of each snapshot onto its mnt->mnt_root.

Then,

When I unmounted all snapshots and current filesystem,
nilfs_put_super() was called, but

generic_shutdown_super() only shrunk the dentry tree of sb->s_root and
didn't shrink dentry trees of snapshots.

Thus their inodes and dentries were left in memory despite my
intention.

So, my implementation issue here is how to free dentries and inodes of
snapshots like shrink_dcache_for_umount(sb) does for a single
namespace.

Thanks,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux