|
About
TODO
Blog
RSS
Old blog
Projects
Gallery
Notes
Thu, 10 Apr 2008VFS: Busy inodes after unmount of pohmel. Self-destruct in 5 seconds. Have a nice day...After removing private cache of inodes I found, that objects, which were sent by the server and which were never attached to directory entry (dentry), will never be freed. So, essentially this does not work with Linux VFS: iget()/iget_locked() ... umountInodes, created by iget()/iget_locked() will be placed into at least three
different lists:
generic_shutdown_super()->invalidate_inodes(),
where system will notice that if inode in s_inodes list has non-zero reference
counter (or course, otherwise it would be already freed by filesystem), then this inode
can not be freed. Thus we have a leak.Above lists can only be accessed under global inode lock, so it is not a good idea to destroy inodes traversing them in for example ->put_super() callback or in any other filessytem callback,
so I had to add a list of all inodes into POHMELFS superblock. Ugly.
/devel/fs :: Link / Comments (0) Please solve this captcha to be allowed to post (need to reload in a minute): 49 + 5 Comments are closed for this story. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||