Messages in this thread | | | Date | Fri, 29 Jun 2012 09:58:09 -0700 | From | "" <> | Subject | Re: 3.5-rc3: BUG: Dentry still in use (1) [unmount of cgroup cgroup] |
| |
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. :)
> >> I use this script to reproduce the bug: > >> > >> mount -t cgroup -o cpu xxx /mnt > >> mkdir /mnt/sub > >> sleep 100 < /mnt/sub & > >> kill $! > >> wait $! > >> rmdir /mnt/sub > >> umount /mnt > > Unfortunately, this doesn't reproduce the bug here either. :( > > I can reproduce the bug reliably.. Try s/cpu/perf or s/cpu/net_cls, which have fewer > cgroup files?
Hmm... weird. Maybe some debug config option I have is preventing the race from occurring as reliably? Can you please attach your .config?
Thanks.
-- tejun
| |