Messages in this thread Patch in this message | | | Date | Sat, 16 Sep 2006 03:51:03 -0400 | From | Mathieu Desnoyers <> | Subject | [PATCH 1/11] LTTng-core 0.5.111 : Relay+DebugFS (DebugFS fix) |
| |
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); dput(dentry); } } | |