btrfs: remove the dead comment in writepage_delalloc()
authorQu Wenruo <wqu@suse.com>
Wed, 28 Jul 2021 06:05:05 +0000 (14:05 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Aug 2021 11:19:08 +0000 (13:19 +0200)
When btrfs_run_delalloc_range() failed, we will error out.

But there is a strange comment mentioning that
btrfs_run_delalloc_range() could have returned value >0 to indicate the
IO has already started.

Commit 40f765805f08 ("Btrfs: split up __extent_writepage to lower stack
usage") introduced the comment, but unfortunately at that time, we were
already using @page_started to indicate that case, and still return 0.

Furthermore, even if that comment was right (which is not), we would
return -EIO if the IO had already started.

By all means the comment is incorrect, just remove the comment along
with the dead check.

Just to be extra safe, add an ASSERT() in btrfs_run_delalloc_range() to
make sure we either return 0 or error, no positive return value.

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

index 3abb9365fbe968ac0902142b464aa415c9094cb6..66888b10b00db5937055d445955bd1f9f7d1b91a 100644 (file)
@@ -3803,13 +3803,7 @@ static noinline_for_stack int writepage_delalloc(struct btrfs_inode *inode,
                if (ret) {
                        btrfs_page_set_error(inode->root->fs_info, page,
                                             page_offset(page), PAGE_SIZE);
-                       /*
-                        * btrfs_run_delalloc_range should return < 0 for error
-                        * but just in case, we use > 0 here meaning the IO is
-                        * started, so we don't want to return > 0 unless
-                        * things are going well.
-                        */
-                       return ret < 0 ? ret : -EIO;
+                       return ret;
                }
                /*
                 * delalloc_end is already one less than the total length, so
index bfa3991e476b8122f7efe2b1d579919d1edde030..949f6a6c616a404259262ac1e3c213250a161bc6 100644 (file)
@@ -1962,6 +1962,7 @@ int btrfs_run_delalloc_range(struct btrfs_inode *inode, struct page *locked_page
                ret = cow_file_range_async(inode, wbc, locked_page, start, end,
                                           page_started, nr_written);
        }
+       ASSERT(ret <= 0);
        if (ret)
                btrfs_cleanup_ordered_extents(inode, locked_page, start,
                                              end - start + 1);