[PATCH 1/11] LTTng-core 0.5.111 : Relay+DebugFS (DebugFS fix)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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);
 		}
 	}

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux