Messages in this thread | | | Date | Fri, 8 Jun 2012 01:59:35 +0100 | From | Al Viro <> | Subject | Re: processes hung after sys_renameat, and 'missing' processes |
| |
On Fri, Jun 08, 2012 at 01:36:04AM +0100, Al Viro wrote: > Eric, how about this - if nothing else, that makes code in there simpler > and less dependent on details of VFS guts:
Argh. No, it's not enough. Why are you using ->d_iput()? You are not doing anything unusual with inode; the natural place for that is in ->d_release() and then it will get simpler rules wrt setting ->d_fsdata. As it is, you need to do that exactly after the point where you know that it dentry won't be dropped without going through d_add().
OK, I've split that in two commits and put into vfs.git#sysfs; take a look and comment, please. Should get to git.kernel.in a few...
| |