Closed tribbloid closed 7 months ago
This might be a new kernel bug. What kernel version is this?
If both of these statements were true:
rmdir reports/tests/test
, ignoring the object named classes
then this would be the result of a known bug where ghost dirents (filenames without an associated inode) get left behind during log replay after a crash. The fix for that bug is in kernel 5.16 and newer. Affected directories can be removed with rmdir
despite the ghost dirents.
It looks like a new bug because:
btrfs check
can detect and report ghost dirents, but in this case it did not.rm -R
appears to have attempted rmdir
already, and in this case it failed.The linux kernel being used is 6.2.6-76060206
I have the option to upgrade to 6.4.6-76060406, is there a significant change between btrfs used in these 2 versions?
I wasn't aware that btrfs are committed into the kernel
I don't have anything to add what Zygo wrote. Otherwise if you want to know about changes overview, you can find it at https://btrfs.readthedocs.io/en/latest/Kernel-by-version.html but it may not mention all individual bugs fixed. You can expect significant changes between major versions, 6.2 -> 6.4, bug fixes between minor versions 6.2.1 -> 6.2.2.
So the directory
classes
is now in a Schroedinger state. In the meantime, btrfs check reports that everything is normal: