On Mon, 8 Jan 2024 at 13:10, Alexander Mikhalitsyn <aleksandr.mikhalitsyn@xxxxxxxxxxxxx> wrote: > > To properly support vfs idmappings we need to provide > a fuse daemon with the correct owner uid/gid for > inode creation requests like mkdir, mknod, atomic_open, > symlink. > > Right now, fuse daemons use req->in.h.uid/req->in.h.gid > to set inode owner. These fields contain fsuid/fsgid of the > syscall's caller. And that's perfectly fine, because inode > owner have to be set to these values. But, for idmapped mounts > it's not the case and caller fsuid/fsgid != inode owner, because > idmapped mounts do nothing with the caller fsuid/fsgid, but > affect inode owner uid/gid. It means that we can't apply vfsid > mapping to caller fsuid/fsgid, but instead we have to introduce > a new fields to store inode owner uid/gid which will be appropriately > transformed. Does fsuid/fsgid have any meaning to the server? Shouldn't this just set in.h.uid/in.h.gid to the mapped ids? Thanks, Miklos