On Sun, 11 Nov 2007 11:19:56 -0800 (PST), Jim Garlick <[EMAIL PROTECTED]>
wrote:
> I thought I'd check if we had that fix but got 'You are not authorized
> to access bug #13620'.  Any chance of having that fixed?
> Jim

It's our support case/bug, at the moment we'd prefer not make it public due
to various internal reasons. Hopefully this will change in the future.

I've attached the patch we applied against RHEL4 2.6.9-55.0.2, which fixed
the double-free problems for us.
--- a/fs/inode.c.orig	2007-10-01 16:42:24.567821866 +0100
+++ b/fs/inode.c	2007-10-01 16:43:30.022037788 +0100
@@ -288,6 +288,12 @@
 		if (inode->i_data.nrpages)
 			truncate_inode_pages(&inode->i_data, 0);
 		clear_inode(inode);
+
+        spin_lock(&inode_lock);
+        hlist_del_init(&inode->i_hash);
+        spin_unlock(&inode_lock);
+
+        wake_up_inode(inode);
 		destroy_inode(inode);
 		nr_disposed++;
 	}
@@ -317,7 +323,6 @@
 			continue;
 		invalidate_inode_buffers(inode);
 		if (!atomic_read(&inode->i_count)) {
-			hlist_del_init(&inode->i_hash);
 			list_move(&inode->i_list, dispose);
 			inode->i_state |= I_FREEING;
 			count++;
@@ -455,7 +460,6 @@
 			if (!can_unuse(inode))
 				continue;
 		}
-		hlist_del_init(&inode->i_hash);
 		list_move(&inode->i_list, &freeable);
 		inode->i_state |= I_FREEING;
 		nr_pruned++;
_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss

Reply via email to