Messages in this thread | | | Date | Sat, 30 Jun 2012 14:13:02 +0800 | From | Li Zefan <> | Subject | Re: 3.5-rc3: BUG: Dentry still in use (1) [unmount of cgroup cgroup] |
| |
On 2012/6/30 0:58, tj@kernel.org wrote:
> Hey, > > On Fri, Jun 29, 2012 at 10:20:11AM +0800, Li Zefan wrote: >>> Can you please elaborate a bit? I'm not really following? Where does >>> the last root->d_count-- come from? >> >> >> From my limited knowledge about vfs internal, seems the parent's refcnt won't go down >> to 0 before its children. When mkdir, the parent's refcnt will be incremented, and >> after rmdir, dput(subdir) will drop subdir's refcnt and then drop parent's. >> >> So when dropping the subdir's refcnt and leading the superblock to be killed, the root's >> dentry is still > 0. > > Heh, yeah, I thought you found who was holding out on the refcnt. :) >
dput will drop both the subdir and the root's dentry refcnt, but kill_sb will be called inbetween.
So it's bad to have dentry refcnts dangling after umount. I've made a patch so css will pin cgroup instead of cgroup dentry.
| |