diff options
author | Jan Kara <jack@suse.cz> | 2014-11-25 19:49:25 +0300 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2014-11-25 19:49:25 +0300 |
commit | b0dea4c1651f3cdb6d17604fa473e72cb74cdc6b (patch) | |
tree | 2d95931301e7d82cc086881dfb08c636a3f9c314 /fs/ext4/inode.c | |
parent | edaa53cac8fd4b96ed4b8f96c4933158ff2dd337 (diff) | |
download | linux-b0dea4c1651f3cdb6d17604fa473e72cb74cdc6b.tar.xz |
ext4: move handling of list of shrinkable inodes into extent status code
Currently callers adding extents to extent status tree were responsible
for adding the inode to the list of inodes with freeable extents. This
is error prone and puts list handling in unnecessarily many places.
Just add inode to the list automatically when the first non-delay extent
is added to the tree and remove inode from the list when the last
non-delay extent is removed.
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 | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 540b0b0481a5..b416b461fa50 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -486,7 +486,6 @@ int ext4_map_blocks(handle_t *handle, struct inode *inode, /* Lookup extent status tree firstly */ if (ext4_es_lookup_extent(inode, map->m_lblk, &es)) { - ext4_es_list_add(inode); if (ext4_es_is_written(&es) || ext4_es_is_unwritten(&es)) { map->m_pblk = ext4_es_pblock(&es) + map->m_lblk - es.es_lblk; @@ -1388,7 +1387,6 @@ static int ext4_da_map_blocks(struct inode *inode, sector_t iblock, /* Lookup extent status tree firstly */ if (ext4_es_lookup_extent(inode, iblock, &es)) { - ext4_es_list_add(inode); if (ext4_es_is_hole(&es)) { retval = 0; down_read(&EXT4_I(inode)->i_data_sem); |