Repository navigation
fix(storage): a disk without partitions keeps its own fsused - #32
Merged
Merged
Conversation
A filesystem made on the whole disk (/dev/sdd, no partition) has no children, so the loop summed 0 and overwrote lsblk's fsused with it: the API reported used=0 and the usage bar stayed empty. Only replace fsused with the children's sum when there are children. Reported in CasaOS#142.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A filesystem made on the whole disk (e.g.
/dev/sdd, no partition) has no children, so the loop inLSBLKsummed 0 and overwrote lsblk'sfsusedwith it./v1/storagethen returnedused: "0"and the UI usage bar stayed empty (the UI fallback only covers a missing/emptyused).The fix replaces
fsusedwith the children's sum only when the disk has children.Reported in ReCasaOS/CasaOS#142 (
used: "0",avail180 GB of 983 GB,path: /dev/sdd).Not tested: no unit test (the logic sits inside
LSBLK, which shells out to lsblk) and the package does not build on this Windows checkout (generated code missing); not run against a real partitionless disk.