ext4: use ext4_sb_bread() instead of sb_bread()
authorzhangyi (F) <yi.zhang@huawei.com>
Thu, 24 Sep 2020 07:33:36 +0000 (15:33 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 18 Oct 2020 14:37:14 +0000 (10:37 -0400)
We have already remove open codes that invoke helpers provide by
fs/buffer.c in all places reading metadata buffers. This patch switch to
use ext4_sb_bread() to replace all sb_bread() helpers, which is
ext4_read_bh() helper back end.

Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
Link: https://lore.kernel.org/r/20200924073337.861472-7-yi.zhang@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/indirect.c
fs/ext4/resize.c

index bb4e999..05efa68 100644 (file)
@@ -1013,14 +1013,14 @@ static void ext4_free_branches(handle_t *handle, struct inode *inode,
                        }
 
                        /* Go read the buffer for the next level down */
-                       bh = sb_bread(inode->i_sb, nr);
+                       bh = ext4_sb_bread(inode->i_sb, nr, 0);
 
                        /*
                         * A read failure? Report error and clear slot
                         * (should be rare).
                         */
-                       if (!bh) {
-                               ext4_error_inode_block(inode, nr, EIO,
+                       if (IS_ERR(bh)) {
+                               ext4_error_inode_block(inode, nr, -PTR_ERR(bh),
                                                       "Read failure");
                                continue;
                        }
index 828d858..928700d 100644 (file)
@@ -1808,8 +1808,8 @@ int ext4_group_extend(struct super_block *sb, struct ext4_super_block *es,
                             o_blocks_count + add, add);
 
        /* See if the device is actually as big as what was requested */
-       bh = sb_bread(sb, o_blocks_count + add - 1);
-       if (!bh) {
+       bh = ext4_sb_bread(sb, o_blocks_count + add - 1, 0);
+       if (IS_ERR(bh)) {
                ext4_warning(sb, "can't read last block, resize aborted");
                return -ENOSPC;
        }
@@ -1934,8 +1934,8 @@ int ext4_resize_fs(struct super_block *sb, ext4_fsblk_t n_blocks_count)
        int meta_bg;
 
        /* See if the device is actually as big as what was requested */
-       bh = sb_bread(sb, n_blocks_count - 1);
-       if (!bh) {
+       bh = ext4_sb_bread(sb, n_blocks_count - 1, 0);
+       if (IS_ERR(bh)) {
                ext4_warning(sb, "can't read last block, resize aborted");
                return -ENOSPC;
        }