On Wed, 22 Apr 2015 11:07:03 -0400 "J. Bruce Fields" <bfields@xxxxxxxxxxxx> wrote: > > Reference of dentry/mnt is like a cache, avoids re-finding of them, > > it is necessary to store them in svc_export. > > > > Neil points out another way of 'fs_pin', I will check that. > > Yes, that'd be interesting. On a very quick look--I don't understand > what it's meant to do at all. But if it does provide a way to get a > callback on umount, that'd certainly be interesting.... Yeah, on a quick look it isn't really obvious at all. But I didn't read the code. I read https://lwn.net/Articles/636730/ which says: In its place is a mechanism by which an object can be added to a vfsmount structure (which represents a mounted filesystem); that object supports only one method: kill(). These "pin" objects hang around until the final reference to the vfsmount goes away, at which point each one's kill() function is called. It thus is a clean mechanism for performing cleanup when a filesystem goes away. This is used to close "BSD process accounting" files on umount, and sound like the perfect interface for flushing things from the sunrpc cache on umount. NeilBrown
Attachment:
pgpEjlOCqssOx.pgp
Description: OpenPGP digital signature