diff options
author | Jan Kara <jack@suse.cz> | 2009-06-09 00:17:05 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-06-09 00:17:05 -0400 |
commit | 03f5d8bcf094a5e3b501bd2ae1553656efa8d1be (patch) | |
tree | 04644e9008e7357fd87f14fee6404b7c306bc3e9 /fs/ext4/inode.c | |
parent | 0b8e58a140cae2ba1c4a21ccae7c6c3c939c51f9 (diff) |
ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle()
Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle(). This
seems to be a relict from some old days and setting disksize in this
function does not make much sense. Currently it was set only by
ext4_getblk(). Since the parameter has some effect only if create ==
1, it is easy to check by grepping through the sources that the three
callers which end up calling ext4_getblk() with create == 1
(ext4_append, ext4_quota_write, ext4_mkdir) do the right thing and set
disksize themselves.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r-- | fs/ext4/inode.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 14c00fff3713..17ed0d244dbb 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -933,11 +933,8 @@ static int ext4_ind_get_blocks(handle_t *handle, struct inode *inode, | |||
933 | int indirect_blks; | 933 | int indirect_blks; |
934 | int blocks_to_boundary = 0; | 934 | int blocks_to_boundary = 0; |
935 | int depth; | 935 | int depth; |
936 | struct ext4_inode_info *ei = EXT4_I(inode); | ||
937 | int count = 0; | 936 | int count = 0; |
938 | ext4_fsblk_t first_block = 0; | 937 | ext4_fsblk_t first_block = 0; |
939 | loff_t disksize; | ||
940 | |||
941 | 938 | ||
942 | J_ASSERT(!(EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL)); | 939 | J_ASSERT(!(EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL)); |
943 | J_ASSERT(handle != NULL || (flags & EXT4_GET_BLOCKS_CREATE) == 0); | 940 | J_ASSERT(handle != NULL || (flags & EXT4_GET_BLOCKS_CREATE) == 0); |
@@ -1003,19 +1000,7 @@ static int ext4_ind_get_blocks(handle_t *handle, struct inode *inode, | |||
1003 | if (!err) | 1000 | if (!err) |
1004 | err = ext4_splice_branch(handle, inode, iblock, | 1001 | err = ext4_splice_branch(handle, inode, iblock, |
1005 | partial, indirect_blks, count); | 1002 | partial, indirect_blks, count); |
1006 | /* | 1003 | else |
1007 | * i_disksize growing is protected by i_data_sem. Don't forget to | ||
1008 | * protect it if you're about to implement concurrent | ||
1009 | * ext4_get_block() -bzzz | ||
1010 | */ | ||
1011 | if (!err && (flags & EXT4_GET_BLOCKS_EXTEND_DISKSIZE)) { | ||
1012 | disksize = ((loff_t) iblock + count) << inode->i_blkbits; | ||
1013 | if (disksize > i_size_read(inode)) | ||
1014 | disksize = i_size_read(inode); | ||
1015 | if (disksize > ei->i_disksize) | ||
1016 | ei->i_disksize = disksize; | ||
1017 | } | ||
1018 | if (err) | ||
1019 | goto cleanup; | 1004 | goto cleanup; |
1020 | 1005 | ||
1021 | set_buffer_new(bh_result); | 1006 | set_buffer_new(bh_result); |
@@ -1321,7 +1306,7 @@ struct buffer_head *ext4_getblk(handle_t *handle, struct inode *inode, | |||
1321 | { | 1306 | { |
1322 | struct buffer_head dummy; | 1307 | struct buffer_head dummy; |
1323 | int fatal = 0, err; | 1308 | int fatal = 0, err; |
1324 | int flags = EXT4_GET_BLOCKS_EXTEND_DISKSIZE; | 1309 | int flags = 0; |
1325 | 1310 | ||
1326 | J_ASSERT(handle != NULL || create == 0); | 1311 | J_ASSERT(handle != NULL || create == 0); |
1327 | 1312 | ||
@@ -2153,9 +2138,7 @@ static int mpage_da_map_blocks(struct mpage_da_data *mpd) | |||
2153 | } | 2138 | } |
2154 | 2139 | ||
2155 | /* | 2140 | /* |
2156 | * Update on-disk size along with block allocation we don't | 2141 | * Update on-disk size along with block allocation. |
2157 | * use EXT4_GET_BLOCKS_EXTEND_DISKSIZE as size may change | ||
2158 | * within already allocated block -bzzz | ||
2159 | */ | 2142 | */ |
2160 | disksize = ((loff_t) next + blks) << mpd->inode->i_blkbits; | 2143 | disksize = ((loff_t) next + blks) << mpd->inode->i_blkbits; |
2161 | if (disksize > i_size_read(mpd->inode)) | 2144 | if (disksize > i_size_read(mpd->inode)) |