OSDN Git Service

btrfs: assume that bio_ret is always valid in submit_extent_page
authorDavid Sterba <dsterba@suse.com>
Tue, 6 Jun 2017 17:22:55 +0000 (19:22 +0200)
committerDavid Sterba <dsterba@suse.com>
Fri, 30 Mar 2018 23:26:52 +0000 (01:26 +0200)
All callers pass a valid pointer so we can drop the redundant checks.
The call to submit_one_bio never happend and can be removed.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index da46e93..cf6253b 100644 (file)
@@ -2758,6 +2758,7 @@ static int merge_bio(struct extent_io_tree *tree, struct page *page,
 
 /*
  * @opf:       bio REQ_OP_* and REQ_* flags as one value
+ * @bio_ret:   must be valid pointer, newly allocated bio will be stored there
  */
 static int submit_extent_page(unsigned int opf, struct extent_io_tree *tree,
                              struct writeback_control *wbc,
@@ -2778,7 +2779,9 @@ static int submit_extent_page(unsigned int opf, struct extent_io_tree *tree,
        size_t page_size = min_t(size_t, size, PAGE_SIZE);
        sector_t sector = offset >> 9;
 
-       if (bio_ret && *bio_ret) {
+       ASSERT(bio_ret);
+
+       if (*bio_ret) {
                bio = *bio_ret;
                if (old_compressed)
                        contig = bio->bi_iter.bi_sector == sector;
@@ -2813,10 +2816,7 @@ static int submit_extent_page(unsigned int opf, struct extent_io_tree *tree,
                wbc_account_io(wbc, page, page_size);
        }
 
-       if (bio_ret)
-               *bio_ret = bio;
-       else
-               ret = submit_one_bio(bio, mirror_num, bio_flags);
+       *bio_ret = bio;
 
        return ret;
 }