Messages in this thread | | | Date | Wed, 20 Sep 2006 08:21:30 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH 1/11] LTTng-core 0.5.111 : Relay+DebugFS (DebugFS fix) |
| |
* Greg KH (gregkh@suse.de) wrote: > On Sat, Sep 16, 2006 at 03:51:03AM -0400, Mathieu Desnoyers wrote: > > 1 - DebugFS stalled dentry patch > > DebugFS seems to keep a stalled dentry when a process is in a directory that is > > being removed. Force a differed deletion. > > patch-2.6.17-lttng-core-0.5.111-debugfs.diff > > > > > > OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg > > Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 > > > --- a/fs/debugfs/inode.c > > +++ b/fs/debugfs/inode.c > > @@ -266,6 +266,7 @@ EXPORT_SYMBOL_GPL(debugfs_create_dir); > > void debugfs_remove(struct dentry *dentry) > > { > > struct dentry *parent; > > + int ret = 0; > > > > if (!dentry) > > return; > > @@ -278,9 +279,10 @@ void debugfs_remove(struct dentry *dentr > > if (debugfs_positive(dentry)) { > > if (dentry->d_inode) { > > if (S_ISDIR(dentry->d_inode->i_mode)) > > - simple_rmdir(parent->d_inode, dentry); > > + ret = simple_rmdir(parent->d_inode, dentry); > > else > > - simple_unlink(parent->d_inode, dentry); > > + ret = simple_unlink(parent->d_inode, dentry); > > + if(ret) d_delete(dentry); > > Are you saying that perhaps all other users of simple_unlink() are also > broken like this? If so, why not just fix simple_unlink()? >
I don't think that libfs is fundamentally broken, as simple_unlink always returns 0 but simple_rmdir may fail if !simple_empty(dentry). I think that the decision of what to do in such situation is "simply" left to the caller.
But you probably know more than I do on that matter.
Mathieu
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |