]> git.baikalelectronics.ru Git - kernel.git/commitdiff
btrfs: do not return errors from btrfs_submit_compressed_read
authorChristoph Hellwig <hch@lst.de>
Fri, 15 Apr 2022 14:33:27 +0000 (16:33 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 16 May 2022 15:03:14 +0000 (17:03 +0200)
btrfs_submit_compressed_read already calls ->bi_end_io on error and
the caller must ignore the return value, so remove it.

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/compression.c
fs/btrfs/compression.h
fs/btrfs/inode.c

index 3e8417bfabe653c118cdfdd9b0eb8048a0198a29..8fda38a58706714130d685b58d2fe8ff0747b50d 100644 (file)
@@ -801,8 +801,8 @@ static noinline int add_ra_bio_pages(struct inode *inode,
  * After the compressed pages are read, we copy the bytes into the
  * bio we were passed and then call the bio end_io calls
  */
-blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
-                                int mirror_num, unsigned long bio_flags)
+void btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
+                                 int mirror_num, unsigned long bio_flags)
 {
        struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
        struct extent_map_tree *em_tree;
@@ -947,7 +947,7 @@ blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
                        comp_bio = NULL;
                }
        }
-       return BLK_STS_OK;
+       return;
 
 fail:
        if (cb->compressed_pages) {
@@ -963,7 +963,7 @@ out:
        free_extent_map(em);
        bio->bi_status = ret;
        bio_endio(bio);
-       return ret;
+       return;
 finish_cb:
        if (comp_bio) {
                comp_bio->bi_status = ret;
@@ -971,7 +971,7 @@ finish_cb:
        }
        /* All bytes of @cb is submitted, endio will free @cb */
        if (cur_disk_byte == disk_bytenr + compressed_len)
-               return ret;
+               return;
 
        wait_var_event(cb, refcount_read(&cb->pending_sectors) ==
                           (disk_bytenr + compressed_len - cur_disk_byte) >>
@@ -983,7 +983,6 @@ finish_cb:
        ASSERT(refcount_read(&cb->pending_sectors));
        /* Now we are the only one referring @cb, can finish it safely. */
        finish_compressed_bio_read(cb);
-       return ret;
 }
 
 /*
index ac5b20731d2ad4b1092fd28e685296f7d6fb479c..ac3c79f8c3492e079e75df08a577e1d363d7c94a 100644 (file)
@@ -102,8 +102,8 @@ blk_status_t btrfs_submit_compressed_write(struct btrfs_inode *inode, u64 start,
                                  unsigned int write_flags,
                                  struct cgroup_subsys_state *blkcg_css,
                                  bool writeback);
-blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
-                                int mirror_num, unsigned long bio_flags);
+void btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
+                                 int mirror_num, unsigned long bio_flags);
 
 unsigned int btrfs_compress_str2level(unsigned int type, const char *str);
 
index 0b87fdeb7079d754a053c64cdb748c50dfd21932..e3e4f8b41923a0536cb9b72249040608259151a4 100644 (file)
@@ -2607,10 +2607,9 @@ blk_status_t btrfs_submit_data_bio(struct inode *inode, struct bio *bio,
                         * the bio if there were any errors, so just return
                         * here.
                         */
-                       ret = btrfs_submit_compressed_read(inode, bio,
-                                                          mirror_num,
-                                                          bio_flags);
-                       goto out_no_endio;
+                       btrfs_submit_compressed_read(inode, bio, mirror_num,
+                                                    bio_flags);
+                       return BLK_STS_OK;
                } else {
                        /*
                         * Lookup bio sums does extra checks around whether we
@@ -2644,7 +2643,6 @@ out:
                bio->bi_status = ret;
                bio_endio(bio);
        }
-out_no_endio:
        return ret;
 }