You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using btrfs and btrfs-subvolumes are classified as cross-filesystem, while they aren't really. This causes a dirstat / to return a tiny 37KiB html and 1.1KiB json.
dirstat doesn't even recurse into /etc, /opt and /usr which aren't even a subvolume, but just regular folders.
I DO get the message Skipping "/bin" (not a directory nor a regular file), which true, it is a symlink to /usr/bin which is normal for ubuntu. But I only get the message for /bin
In addition: btrfs supports extent-sharing, so with btrfs fi du <file> I can check the total size of a file, the amount that is shared with other files and the space used exclusively by this file. It would be nice if we got support for that aswell, but I fully understand if that is too complex
The text was updated successfully, but these errors were encountered:
DirStat uses Go stdlib's filepath.Walk function to scan the directory (https://github.com/GaelGirodon/dirstat/blob/0.11.0/internal/scan/scan.go#L20-L56), but this function sometimes seems to behave strangely. I recently ran into a similar issue on an NTFS drive from Windows: entries that look like regular directories from the Explorer are totally ignored by the scan. I'll take a look at it, that may solve your issue as well.
Symbolic links are not followed by filepath.Walk to avoid loops, I'll try to fix that too as it's a pretty common use case. Maybe filepath.Walk wasn't the right choice, I can try to use os.ReadDir instead with recursive calls, and add an option to follow symlinks and another one to limit the scan depth to prevent infinite loops, or implement a mechanism to detect this automatically (but it might not be as simple as it seems).
For the last issue, yes, it seems to be too complex and specific to implement in this tool. For now, I'll focus on the two other issues that may even impact users not using btrfs filesystems 🙂
Hi,
I'm using btrfs and btrfs-subvolumes are classified as cross-filesystem, while they aren't really. This causes a
dirstat /
to return a tiny 37KiB html and 1.1KiB json.dirstat doesn't even recurse into /etc, /opt and /usr which aren't even a subvolume, but just regular folders.
I DO get the message
Skipping "/bin" (not a directory nor a regular file)
, which true, it is a symlink to /usr/bin which is normal for ubuntu. But I only get the message for /binIn addition: btrfs supports extent-sharing, so with
btrfs fi du <file>
I can check the total size of a file, the amount that is shared with other files and the space used exclusively by this file. It would be nice if we got support for that aswell, but I fully understand if that is too complexThe text was updated successfully, but these errors were encountered: