Package: python3-btrfs
Version: 10-1

In the upstream issue tracker, an issue was reported about a crash when
using the python-btrfs library:

https://github.com/knorrie/python-btrfs/issues/17

When trying to decode MetaDataItem objects from a btrfs kernel ioctl
result buffer, the code crashes.

File "/home/bor/python-btrfs/examples/btrfs/ctree.py", line 1441, in
_load_refs
self.tree_block_refs._append(InlineTreeBlockRef(inline_ref_offset))
AttributeError: 'list' object has no attribute '_append'

The fix for this is literally removing two stray underscores in the
code, which obviously shouldn't have been there.

When looking back, the reason for not catching this while doing
regression testing before the v10 release was an oversight. All used
filesystems were of age, and never were converted to use the btrfs
skinny_metadata feature, which makes it hit the faulty lines of code.

This also means that anyone who is creating a new btrfs filesystem on
Debian Stretch or Buster will run into this problem when exploring it.
This is not nice, since Debian Buster will be the first Debian release
to include this package.

Affected are any operations which load information from the btrfs extent
tree and process backreference information:

* various shipped code examples, like show_metadata_tree_sizes,
show_block_group_contents, dump_tree.

* functionality in the btrfs-heatmap package to show colorful
extent-level pictures about the layout of metadata block groups.

Hans

Reply via email to