On Tue, Feb 09, 2021 at 06:33:37PM +0100, Marek Behún wrote: > When the btrfs_read_fs_root() function is searching a ROOT_ITEM with > location key offset other than -1, it currently fails via BUG_ON. > > The offset can have other value than -1, though. This can happen for > example if a subvolume is renamed: > > $ btrfs subvolume create X && sync > Create subvolume './X' > $ btrfs inspect-internal dump-tree /dev/root | grep -B 2 'name: X$ > location key (270 ROOT_ITEM 18446744073709551615) type DIR > transid 283 data_len 0 name_len 1 > name: X > $ mv X Y && sync > $ btrfs inspect-internal dump-tree /dev/root | grep -B 2 'name: Y$ > location key (270 ROOT_ITEM 0) type DIR > transid 285 data_len 0 name_len 1 > name: Y > > As can be seen the offset changed from -1ULL to 0. > > Do not fail in this case. > > Signed-off-by: Marek Behún <marek.be...@nic.cz> > Cc: David Sterba <dste...@suse.com> > Cc: Qu Wenruo <w...@suse.com> > Cc: Tom Rini <tr...@konsulko.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature