ext3/xattr.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN fs/ext3/xattr.c~kernel_lock_bug2 fs/ext3/xattr.c
--- 25/fs/ext3/xattr.c~kernel_lock_bug2	2003-02-14 18:24:00.000000000 -0800
+++ 25-akpm/fs/ext3/xattr.c	2003-02-14 18:24:00.000000000 -0800
@@ -848,7 +848,7 @@ ext3_xattr_set(struct inode *inode, int 
 	       const void *value, size_t value_len, int flags)
 {
 	handle_t *handle;
-	int error;
+	int error, error2;
 
 	lock_kernel();
 	handle = ext3_journal_start(inode, EXT3_XATTR_TRANS_BLOCKS);
@@ -857,10 +857,10 @@ ext3_xattr_set(struct inode *inode, int 
 	else
 		error = ext3_xattr_set_handle(handle, inode, name_index, name,
 					      value, value_len, flags);
-	ext3_journal_stop(handle, inode);
+	error2 = ext3_journal_stop(handle, inode);
 	unlock_kernel();
 
-	return error;
+	return error ? error : error2;
 }
 
 /*

_