Bug 514681

Summary: Directories and hardlinked files are skipped if their inode number matches an entry on another filesystem
Product: [Applications] filelight Reporter: Kaylee Blake <klkblake>
Component: generalAssignee: Unassigned bugs <unassigned-bugs-null>
Status: REPORTED ---    
Severity: normal CC: martin.sandsmark
Priority: NOR    
Version First Reported In: 25.08.3   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Kaylee Blake 2026-01-16 08:40:30 UTC
SUMMARY

When the scan sees that a directory entry has >=2 links, it checks if it has seen the inode before, and if it has, skips it. This is incorrect when there are multiple filesystems involved, as inodes are not globally unique. As mount points have the inode of the root of the mounted filesystem rather than the directory they were mounted on, this can lead to collisions even within the same directory.

STEPS TO REPRODUCE
1. Mount several filesystems of the same type (tmpfs works to reproduce) on mountpoints in the same directory
2. Run filelight

OBSERVED RESULT

Filelight skips all but one

EXPECTED RESULT

Filelight shows all of them

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo Linux 2.18
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.20.0
Qt Version: 6.9.3

ADDITIONAL INFORMATION

I think identifying files by a `(st_dev, st_ino)` pair should be sufficient for most filesystems?