linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Extended attribute sharing and debug macro typo in 2.5.64
@ 2003-03-07 15:50 Andreas Gruenbacher
  0 siblings, 0 replies; only message in thread
From: Andreas Gruenbacher @ 2003-03-07 15:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tony.Dziedzic, linux-kernel

Hello Andrew,

Tony Dziedzic has found two bugs in the extended attributes code. Patches with 
explanations are attached. Could you please fold this into one of your next 
updates?

Thanks,
Andreas.

------------------------------------------------------------------------------
Extended attribute sharing on ext2/ext3 not working

The mb_cache_entry_insert function constantly returns an -EBUSY error
instead of 0, which causes the xattr cache that is needed by the xattr
sharing mechanism on ext2/ext3 to not share anything. This patch fixes
the problem. (It is possible that after applying this fix we will hit
bugs in code that wasn't used before.)

--- linux-2.5.64.orig/fs/mbcache.c	2003-03-07 16:24:07.000000000 +0100
+++ linux-2.5.64/fs/mbcache.c	2003-03-07 16:24:11.000000000 +0100
@@ -433,6 +433,7 @@
 		list_add(&ce->e_indexes[n].o_list,
 			 &cache->c_indexes_hash[n][bucket]);
 	}
+	error = 0;
 out:
 	spin_unlock(&mb_cache_spinlock);
 	return error;
Extended attributes debug macro oops


------------------------------------------------------------------------------
Oops in one of the xattr debug statements: The old_bh variable is NULL
if an inode that previously had no EA's assigned would share an EA block
with another inode. (This was hidden by the xattr sharing bug).

--- linux-2.5.64.orig/fs/ext2/xattr.c	2003-03-07 16:23:01.000000000 +0100
+++ linux-2.5.64/fs/ext2/xattr.c	2003-03-07 16:23:14.000000000 +0100
@@ -731,7 +731,7 @@
 			 * The old block will be released after updating
 			 * the inode.
 			 */
-			ea_bdebug(old_bh, "reusing block %ld",
+			ea_bdebug(new_bh, "reusing block %ld",
 				new_bh->b_blocknr);
 			
 			error = -EDQUOT;
--- linux-2.5.64.orig/fs/ext3/xattr.c	2003-03-07 16:22:55.000000000 +0100
+++ linux-2.5.64/fs/ext3/xattr.c	2003-03-07 16:23:21.000000000 +0100
@@ -732,7 +732,7 @@
 			 * The old block will be released after updating
 			 * the inode.
 			 */
-			ea_bdebug(old_bh, "reusing block %ld",
+			ea_bdebug(new_bh, "reusing block %ld",
 				new_bh->b_blocknr);
 			
 			error = -EDQUOT;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-03-07 15:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-07 15:50 [PATCH] Extended attribute sharing and debug macro typo in 2.5.64 Andreas Gruenbacher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).