diff options
author | Theodore Ts'o <tytso@mit.edu> | 2010-10-27 21:30:10 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-10-27 21:30:10 -0400 |
commit | bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc (patch) | |
tree | f0d1902b7ff4294114614cc706855c3d6b131f73 /fs/ext4/extents.c | |
parent | 1de3e3df917459422cb2aecac440febc8879d410 (diff) |
ext4: use bio layer instead of buffer layer in mpage_da_submit_io
Call the block I/O layer directly instad of going through the buffer
layer. This should give us much better performance and scalability,
as well as lowering our CPU utilization when doing buffered writeback.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r-- | fs/ext4/extents.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index a0e623055955..a1e20c8c4e0c 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -3202,7 +3202,7 @@ ext4_ext_handle_uninitialized_extents(handle_t *handle, struct inode *inode, | |||
3202 | * completed | 3202 | * completed |
3203 | */ | 3203 | */ |
3204 | if (io) | 3204 | if (io) |
3205 | io->flag = EXT4_IO_UNWRITTEN; | 3205 | io->flag = EXT4_IO_END_UNWRITTEN; |
3206 | else | 3206 | else |
3207 | ext4_set_inode_state(inode, EXT4_STATE_DIO_UNWRITTEN); | 3207 | ext4_set_inode_state(inode, EXT4_STATE_DIO_UNWRITTEN); |
3208 | if (ext4_should_dioread_nolock(inode)) | 3208 | if (ext4_should_dioread_nolock(inode)) |
@@ -3494,7 +3494,7 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode, | |||
3494 | */ | 3494 | */ |
3495 | if ((flags & EXT4_GET_BLOCKS_PRE_IO)) { | 3495 | if ((flags & EXT4_GET_BLOCKS_PRE_IO)) { |
3496 | if (io) | 3496 | if (io) |
3497 | io->flag = EXT4_IO_UNWRITTEN; | 3497 | io->flag = EXT4_IO_END_UNWRITTEN; |
3498 | else | 3498 | else |
3499 | ext4_set_inode_state(inode, | 3499 | ext4_set_inode_state(inode, |
3500 | EXT4_STATE_DIO_UNWRITTEN); | 3500 | EXT4_STATE_DIO_UNWRITTEN); |