On Mon, Feb 06, 2017 at 07:18:16AM -0800, James Bottomley wrote: > On Mon, 2017-02-06 at 09:50 -0500, Theodore Ts'o wrote: > > On Sun, Feb 05, 2017 at 10:46:23PM -0800, James Bottomley wrote: > > > Yes, I know the problem. However, I believe most current linux > > > filesystems no longer guarantee stable, for the lifetime of the > > > file, inode numbers. The usual docker container root is overlayfs, > > > which, similarly doesn't support stable inode numbers. I see the > > > odd complaint about docker with overlayfs having unstable inode > > > numbers, but none seems to have any serious repercussions. > > > > Um, no. Most current linux file systems *do* guarantee stable inode > > numbers. For one thing, NFS would break horribly if you didn't have > > stable inode numbers. Never mind applications which depend on POSIX > > semantics. And you wouldn't be able to save games in rogue or > > nethack, either. :-) > > I believe that's why we have the superblock export operations to > manufacture unique filehandles in the absence of inode number > stability. Where did you hear that? I'd expect an NFS client to handle non-unique filehandles better than non-unique inode numbers. I believe our client will -EIO on encountering an inode number change (see nfs_check_inode_attributes().) See also https://tools.ietf.org/html/rfc5661#section-10.3.4. --b. > The generic one uses inode numbers, but it doesn't have to. > I thought reiserfs (if we can go back that far) was the first > generally used filesystem that didn't guarantee stable inode numbers, > so we have a lot of historical precedence. > > Thanks to reiserfs, I thought we also iterated to weak stability > guarantees for inode numbers which mean no inconsistencies in > applications that use inode numbers for caching? It's still not POSIX, > but I thought it was good enough for most use cases. > > > Overlayfs may not, currently, but it's considered a bug. > > James >