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; } /* _