mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 23:14:31 +08:00
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>
This commit is contained in:
parent
f7361d8c3f
commit
1c94674b25
@ -1609,7 +1609,7 @@ void btrfs_redirty_list_add(struct btrfs_transaction *trans,
|
||||
set_bit(EXTENT_BUFFER_NO_CHECK, &eb->bflags);
|
||||
set_extent_buffer_dirty(eb);
|
||||
set_extent_bit(&trans->dirty_pages, eb->start, eb->start + eb->len - 1,
|
||||
EXTENT_DIRTY | EXTENT_NOWAIT, NULL);
|
||||
EXTENT_DIRTY, NULL);
|
||||
}
|
||||
|
||||
bool btrfs_use_zone_append(struct btrfs_bio *bbio)
|
||||
|
Loading…
Reference in New Issue
Block a user