[PATCH] "ext[34]: EA block reference count racing fix" performance fix

A little mistake in 8a2bfdcbfa441d8b0e5cb9c9a7f45f77f80da465 is making all
transactions synchronous, which reduces ext3 performance to comical levels.

Cc: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Andrew Morton and committed by Linus Torvalds 105fd108 cee9e8c5

+2 -1
+2 -1
fs/ext3/xattr.c
··· 495 BHDR(bh)->h_refcount = cpu_to_le32( 496 le32_to_cpu(BHDR(bh)->h_refcount) - 1); 497 error = ext3_journal_dirty_metadata(handle, bh); 498 - handle->h_sync = 1; 499 DQUOT_FREE_BLOCK(inode, 1); 500 ea_bdebug(bh, "refcount now=%d; releasing", 501 le32_to_cpu(BHDR(bh)->h_refcount));
··· 495 BHDR(bh)->h_refcount = cpu_to_le32( 496 le32_to_cpu(BHDR(bh)->h_refcount) - 1); 497 error = ext3_journal_dirty_metadata(handle, bh); 498 + if (IS_SYNC(inode)) 499 + handle->h_sync = 1; 500 DQUOT_FREE_BLOCK(inode, 1); 501 ea_bdebug(bh, "refcount now=%d; releasing", 502 le32_to_cpu(BHDR(bh)->h_refcount));