btrfs: handle empty eb->folios in num_extent_folios()
authorBoris Burkov <boris@bur.io>
Fri, 25 Apr 2025 19:47:50 +0000 (12:47 -0700)
committerDavid Sterba <dsterba@suse.com>
Fri, 2 May 2025 11:20:08 +0000 (13:20 +0200)
commitd6fe0c69b3aa5c985380b794bdf8e6e9b1811e60
tree19a7eb1f2a1247de576fde5badb67c0ee7a1f2b7
parentbc7e0975093567f51be8e1bdf4aa5900a3cf0b1e
btrfs: handle empty eb->folios in num_extent_folios()

num_extent_folios() unconditionally calls folio_order() on
eb->folios[0]. If that is NULL this will be a segfault. It is reasonable
for it to return 0 as the number of folios in the eb when the first
entry is NULL, so do that instead.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Boris Burkov <boris@bur.io>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.h