Andor Daam
2012-Mar-09 13:40 UTC
[Ocfs2-devel] ext3/4, btrfs, ocfs2: How to assure that cleancache_invalidate_fs is called on every superblock free
Hello, Is it ever possible for a superblock for a mounted filesystem to be free'd without a previous call to unmount the filesystem? I need to be certain that the function cleancache_invalidate_fs, which is at the moment called by deactivate_locked_super (fs/super.c) [1], is called before every free on a superblock of cleancache-enabled filesystems. Is this already the case or are there situations in which this does not happen? It would be interesting to know this, as we are planning to have cleancache save pointers to superblocks of every mounted cleancache-enabled filesystem [2] and it would be fatal if a superblock is free'd without cleancache being notified. Regards Andor [1] commit c515e1fd361c2a08a9c2eb139396ec30a4f477dc [2] http://marc.info/?l=linux-mm&m=133122649732669&w=2
Jan Kara
2012-Mar-12 13:38 UTC
[Ocfs2-devel] ext3/4, btrfs, ocfs2: How to assure that cleancache_invalidate_fs is called on every superblock free
Hello, On Fri 09-03-12 14:40:22, Andor Daam wrote:> Is it ever possible for a superblock for a mounted filesystem to be > free'd without a previous call to unmount the filesystem?No, I don't think so (well, except for cases where we do not manage to fully setup the superblock). But be aware that mount/umount need not be really the entry points you are looking for since filesystem can be mounted several times. Rather deactivate_locked_supers() is the place you are looking for...> I need to be certain that the function cleancache_invalidate_fs, which is > at the moment called by deactivate_locked_super (fs/super.c) [1], is > called before every free on a superblock of cleancache-enabled > filesystems. Is this already the case or are there situations in which > this does not happen? > > It would be interesting to know this, as we are planning to have > cleancache save pointers to superblocks of every mounted > cleancache-enabled filesystem [2] and it would be fatal if a > superblock is free'd without cleancache being notified.Honza -- Jan Kara <jack at suse.cz> SUSE Labs, CR