btrfs: do not require EXTENT_NOWAIT for btrfs_redirty_list_add()
authorQu Wenruo <wqu@suse.com>
Tue, 29 Aug 2023 07:14:25 +0000 (15:14 +0800)
committerDavid Sterba <dsterba@suse.com>
Thu, 12 Oct 2023 14:44:02 +0000 (16:44 +0200)
commit1c94674b25cfb2c51b73ff156ca5e08e0f9f398e
treef8682a88e89f483594b69cef980d38a0a213ffd8
parentf7361d8c3fc3df524bd17517f37adb619c5f99bb
btrfs: do not require EXTENT_NOWAIT for btrfs_redirty_list_add()

The flag EXTENT_NOWAIT is a special flag to notify extent-io-tree code
that this operation should not sleep for the extent state preallocation.

However for btrfs_redirty_list_add(), all callers are able to sleep:

- clean_log_buffer()
  Just 2 lines before, we call btrfs_pin_reserved_extent(), which calls
  pin_down_extent(), and that function does not require EXTENT_NOWAIT.
  Thus we're safe to call it without EXTENT_NOWAIT.

- btrfs_free_tree_block()
  This function have several call sites which trigger tree read, e.g.
  walk_up_proc(), thus we're safe to call it without EXTENT_NOWAIT.

Thus there is no need to require EXTENT_NOWAIT flag.

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