diff options
author | Eric Sandeen <sandeen@redhat.com> | 2008-07-11 19:27:31 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-07-11 19:27:31 -0400 |
commit | 953e622b601f58b7cc0f29fe644457fa40a18456 (patch) | |
tree | 15fcef3e6489b90aaf92100b096021773ef856df /fs/ext4/extents.c | |
parent | 47b4a50bebfd34b5e1fa2a9c673c8f31fa231cc1 (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/ext4/extents.c')
-rw-r--r-- | fs/ext4/extents.c | 7 |
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; |
2745 | out2: | 2744 | out2: |