Re: file handle in statx (was: Re: How to cope with subvolumes and snapshots on muti-user systems?)

Christian Brauner
2023-12-12T09:23:14Z

On Tue, Dec 12, 2023 at 09:10:47AM +0000, David Howells wrote:
> Christian Brauner <brauner@kernel.org> wrote:
>
> > > > > I suggest:
> > > > >
> > > > > STATX_ATTR_INUM_NOT_UNIQUE - it is possible that two files have the
> > > > > same inode number
> >
> > This is just ugly with questionable value. A constant reminder of how
> > broken this is. Exposing the subvolume id also makes this somewhat redundant.
>
> There is a upcoming potential problem where even the 64-bit field I placed in
> statx() may be insufficient. The Auristor AFS server, for example, has a
> 96-bit vnode ID, but I can't properly represent this in stx_ino. Currently, I

Is that vnode ID akin to a volume? Because if so you could just
piggy-back on a subvolume id field in statx() and expose it there.

> just truncate the value to fit and hope that the discarded part will be all
> zero, but that's not really a good thing to do - especially when stx_ino is
> used programmatically to check for hardlinks.
>
> Would it be better to add an 'stx_ino_2' field and corresponding flag?

Would this be meaningfully different from using a file handle?