On Fri, Nov 10, 2023 at 11:33 AM Christian Brauner <brauner@xxxxxxxxxx> wrote: > > > you hit a mount point or another (nested) subvolume. Can't comment > > on overlayfs. But if it keeps mixing things forth and back what would > > Overlayfs shows that this st_dev switching happens on things other than > btrfs. It has nothing to do with subvolumes. IMO, overlayfs is a good example of Pragmatism. On some filesystems, following POSIX standard verbatim is not possible. We care more about the users and about how the POSIX standard affects real life applications, than about actually following the standard. This table is complex, but it explains the tradeoffs that overlayfs does when following strict POSIX is not possible: https://docs.kernel.org/filesystems/overlayfs.html#inode-properties In the Legacy case, where Uniform st_dev is not possible, overlayfs preserve these important *practical* rules: 1. Unique st_dev,st_ino 2. Uniform st_dev across all directories (non-persistent st_ino) 3. Persistent st_ino for non-directories (non-uniform st_dev) Rule #2 is important for traversal boundaries (e.g. find -xdev, du -x) It's not mentioned in this table, but overlayfs f_fsid is and always was uniform. Since v6.6, overlayfs f_fsid is also unique among overlayfs instances. I don't know of a good way to stop a thread where all that needs to be said has been said, but my opinion is that this thread has lost focus a long time ago. I will post a new patch for fanotify with Jan's proposal to address Christoph's concerns: - no ->get_fsid() method - no sb/mount mark on btrfs subvol Thanks, Amir.