]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ext4: cleanup clean_bdev_aliases() calls
authorzhangyi (F) <yi.zhang@huawei.com>
Mon, 11 Feb 2019 04:32:07 +0000 (23:32 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 11 Feb 2019 04:32:07 +0000 (23:32 -0500)
Now, we have already handle all cases of forgetting buffer in
jbd2_journal_forget(), the buffer should not be mapped to blockdevice
when reallocating it. So this patch remove all clean_bdev_aliases() and
clean_bdev_bh_alias() calls which were invoked by ext4 explicitly.

Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
fs/ext4/extents.c
fs/ext4/inode.c
fs/ext4/page-io.c

index 240b6dea5441b2c3e58c73c4db90c5b3123e3422..82e239a176c73f0ac0f86a31f3f8d4d14d54a004 100644 (file)
@@ -4048,18 +4048,8 @@ out:
        } else
                allocated = ret;
        map->m_flags |= EXT4_MAP_NEW;
-       /*
-        * if we allocated more blocks than requested
-        * we need to make sure we unmap the extra block
-        * allocated. The actual needed block will get
-        * unmapped later when we find the buffer_head marked
-        * new.
-        */
-       if (allocated > map->m_len) {
-               clean_bdev_aliases(inode->i_sb->s_bdev, newblock + map->m_len,
-                                  allocated - map->m_len);
+       if (allocated > map->m_len)
                allocated = map->m_len;
-       }
        map->m_len = allocated;
 
 map_out:
index 213d1857a7cfb98bead4c59c95c84c2dfa84d2a0..dd4641f3cdb9e99735ed77ccb04731678b8134e6 100644 (file)
@@ -678,8 +678,6 @@ found:
                if (flags & EXT4_GET_BLOCKS_ZERO &&
                    map->m_flags & EXT4_MAP_MAPPED &&
                    map->m_flags & EXT4_MAP_NEW) {
-                       clean_bdev_aliases(inode->i_sb->s_bdev, map->m_pblk,
-                                          map->m_len);
                        ret = ext4_issue_zeroout(inode, map->m_lblk,
                                                 map->m_pblk, map->m_len);
                        if (ret) {
@@ -1194,7 +1192,6 @@ static int ext4_block_write_begin(struct page *page, loff_t pos, unsigned len,
                        if (err)
                                break;
                        if (buffer_new(bh)) {
-                               clean_bdev_bh_alias(bh);
                                if (PageUptodate(page)) {
                                        clear_buffer_new(bh);
                                        set_buffer_uptodate(bh);
@@ -2490,10 +2487,6 @@ static int mpage_map_one_extent(handle_t *handle, struct mpage_da_data *mpd)
        }
 
        BUG_ON(map->m_len == 0);
-       if (map->m_flags & EXT4_MAP_NEW) {
-               clean_bdev_aliases(inode->i_sb->s_bdev, map->m_pblk,
-                                  map->m_len);
-       }
        return 0;
 }
 
index 2aa62d58d8dd87e095bcb61f84aa78ef755463a1..15599466809b30f3c2213659841580fd9563b2f2 100644 (file)
@@ -467,10 +467,8 @@ int ext4_bio_write_page(struct ext4_io_submit *io,
                                ext4_io_submit(io);
                        continue;
                }
-               if (buffer_new(bh)) {
+               if (buffer_new(bh))
                        clear_buffer_new(bh);
-                       clean_bdev_bh_alias(bh);
-               }
                set_buffer_async_write(bh);
                nr_to_submit++;
        } while ((bh = bh->b_this_page) != head);