btrfs: make grab_extent_buffer_from_page() handle subpage case
authorQu Wenruo <wqu@suse.com>
Tue, 26 Jan 2021 08:33:49 +0000 (16:33 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 8 Feb 2021 21:59:01 +0000 (22:59 +0100)
commit819822107d8837fc3363ceaeb172b981c8600a2b
tree13e5ef85ffbe8ea9ab2e4320c479cdc65018d376
parent760f991f1428f25fd18b8638004c95f0a2a43b2f
btrfs: make grab_extent_buffer_from_page() handle subpage case

For subpage case, grab_extent_buffer() can't really get an extent buffer
just from btrfs_subpage.

We have radix tree lock protecting us from inserting the same eb into
the tree.  Thus we don't really need to do the extra hassle, just let
alloc_extent_buffer() handle the existing eb in radix tree.

Now if two ebs are being allocated as the same time, one will fail with
-EEIXST when inserting into the radix tree.

So for grab_extent_buffer(), just always return NULL for subpage case.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
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/extent_io.c