aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2008-07-11 19:27:31 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-07-11 19:27:31 -0400
commit953e622b601f58b7cc0f29fe644457fa40a18456 (patch)
tree15fcef3e6489b90aaf92100b096021773ef856df /fs
parent47b4a50bebfd34b5e1fa2a9c673c8f31fa231cc1 (diff)
ext4: use atomic functions to set bh_state
Use the BUFFER_FNS functions (set_buffer_foo) to set buffer head state atomically instead of nonatomic __set_bit(). Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/extents.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 555155d239df..bb36a28f8ff3 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -2622,8 +2622,7 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode,
2622 */ 2622 */
2623 if (allocated > max_blocks) 2623 if (allocated > max_blocks)
2624 allocated = max_blocks; 2624 allocated = max_blocks;
2625 /* mark the buffer unwritten */ 2625 set_buffer_unwritten(bh_result);
2626 __set_bit(BH_Unwritten, &bh_result->b_state);
2627 goto out2; 2626 goto out2;
2628 } 2627 }
2629 2628
@@ -2729,7 +2728,7 @@ outnew:
2729 if (extend_disksize && inode->i_size > EXT4_I(inode)->i_disksize) 2728 if (extend_disksize && inode->i_size > EXT4_I(inode)->i_disksize)
2730 EXT4_I(inode)->i_disksize = inode->i_size; 2729 EXT4_I(inode)->i_disksize = inode->i_size;
2731 2730
2732 __set_bit(BH_New, &bh_result->b_state); 2731 set_buffer_new(bh_result);
2733 2732
2734 /* Cache only when it is _not_ an uninitialized extent */ 2733 /* Cache only when it is _not_ an uninitialized extent */
2735 if (create != EXT4_CREATE_UNINITIALIZED_EXT) 2734 if (create != EXT4_CREATE_UNINITIALIZED_EXT)
@@ -2739,7 +2738,7 @@ out:
2739 if (allocated > max_blocks) 2738 if (allocated > max_blocks)
2740 allocated = max_blocks; 2739 allocated = max_blocks;
2741 ext4_ext_show_leaf(inode, path); 2740 ext4_ext_show_leaf(inode, path);
2742 __set_bit(BH_Mapped, &bh_result->b_state); 2741 set_buffer_mapped(bh_result);
2743 bh_result->b_bdev = inode->i_sb->s_bdev; 2742 bh_result->b_bdev = inode->i_sb->s_bdev;
2744 bh_result->b_blocknr = newblock; 2743 bh_result->b_blocknr = newblock;
2745out2: 2744out2: