projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cee9e8c
)
[PATCH] "ext[34]: EA block reference count racing fix" performance fix
author
Andrew Morton
<
[email protected]
>
Fri, 23 Mar 2007 07:10:02 +0000
(
00:10
-0700)
committer
Linus Torvalds
<
[email protected]
>
Fri, 23 Mar 2007 18:01:22 +0000
(11:01 -0700)
A little mistake in
8a2bfdcbfa441d8b0e5cb9c9a7f45f77f80da465
is making all
transactions synchronous, which reduces ext3 performance to comical levels.
Cc: Mingming Cao <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
fs/ext3/xattr.c
patch
|
blob
|
history
diff --git
a/fs/ext3/xattr.c
b/fs/ext3/xattr.c
index 12f7dda1232cb8b17749d6f3e87d6ea77a40bb0c..f58cbb26323e1ea666d78eba4cb4d3bd4c16490a 100644
(file)
--- a/
fs/ext3/xattr.c
+++ b/
fs/ext3/xattr.c
@@
-495,7
+495,8
@@
ext3_xattr_release_block(handle_t *handle, struct inode *inode,
BHDR(bh)->h_refcount = cpu_to_le32(
le32_to_cpu(BHDR(bh)->h_refcount) - 1);
error = ext3_journal_dirty_metadata(handle, bh);
- handle->h_sync = 1;
+ if (IS_SYNC(inode))
+ handle->h_sync = 1;
DQUOT_FREE_BLOCK(inode, 1);
ea_bdebug(bh, "refcount now=%d; releasing",
le32_to_cpu(BHDR(bh)->h_refcount));