• Christian Brauner's avatar
    fs: port to iattr ownership update helpers · 35faf310
    Christian Brauner authored
    Earlier we introduced new helpers to abstract ownership update and
    remove code duplication. This converts all filesystems supporting
    idmapped mounts to make use of these new helpers.
    
    For now we always pass the initial idmapping which makes the idmapping
    functions these helpers call nops.
    
    This is done because we currently always pass the actual value to be
    written to i_{g,u}id via struct iattr. While this allowed us to treat
    the {g,u}id values in struct iattr as values that can be directly
    written to inode->i_{g,u}id it also increases the potential for
    confusion for filesystems.
    
    Now that we are have dedicated types to prevent this confusion we will
    ultimately only map the value from the idmapped mount into a filesystem
    value that can be written to inode->i_{g,u}id when the filesystem
    actually updates the inode. So pass down the initial idmapping until we
    finished that conversion at which point we pass down the mount's
    idmapping.
    
    No functional changes intended.
    
    Link: https://lore.kernel.org/r/20220621141454.2914719-6-brauner@kernel.org
    Cc: Seth Forshee <sforshee@digitalocean.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Aleksa Sarai <cyphar@cyphar.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    CC: linux-fsdevel@vger.kernel.org
    Reviewed-by: default avatarSeth Forshee <sforshee@digitalocean.com>
    Signed-off-by: default avatarChristian Brauner (Microsoft) <brauner@kernel.org>
    35faf310
file.c 115 KB