Seeing "ENOENT" under "/SINGLE/DATA/ERROR/logical info"
Closed this issue · 4 comments
I ran btdu against my btrfs partition mouted as read-only and saw the following. Tried defragment, no help.
btdu v0.3.0 @ /mnt [PAUSED]
--- /SINGLE/DATA/ERROR/logical ino ------------------------------------------------------------------------------------------------------------------------------------------------------------
~116.9 GiB [100.0% ##########] ENOENT
--- Details: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Average query duration: 0.0000153 seconds
- Represented size: ~116.9 GiB (123783 samples)
- Logical offsets: ..., 1004368585530, 178054220006, 421607607093
--- Explanation:
An error occurred while trying to look up which inodes use a particular logical offset.
Children of this node indicate the encountered error code, and may have a more detailed explanation attached.
btdu v0.3.0 @ /mnt [PAUSED]
--- INFO: /SINGLE/DATA/ERROR/logical ino/ENOENT -----------------------------------------------------------------------------------------------------------------------------------------------
--- Details:
- Error code: 2
- Error message: No such file or directory
- Average query duration: 0.0000153 seconds
- Represented size: ~116.9 GiB (123783 samples)
- Logical offsets: ..., 1004368585530, 178054220006, 421607607093
--- Explanation:
btrfs reports that there is nothing at the random sample location that btdu picked.
This most likely represents allocated but unused space, which could be reduced by running a balance on the DATA block grp.
Could anyone help
- What does the error mean? Or what documents/manuals should I check?
- What should I do with the error?
- Do I really need to run balance even there is only one device to recover the space?
Thanks in advance.
Checked with 0.3.1 as well, no change.
- What does the error mean?
It's only an error as far as btdu
is concerned. It's not an error of the filesystem. I should probably make that clearer.
- Or what documents/manuals should I check?
If you're not yet familiar with btrfs's two-stage allocator, you might be interested in reading about it.
What should I do with the error?
If you want to reclaim the disk space that it represents (and convert it into unallocated space that can be used for other block groups), you can run a balance on the block group (single data).
Do I really need to run balance even there is only one device to recover the space?
Yes, the fact that there is only one device is not important in this case.
Hope this helps.
Thank you very much. I should really do more homework.
I've attempted to improve the node's description: