• Sargun Dhillon's avatar
    NFSv4: Refactor to use user namespaces for nfs4idmap · d3ff46fe
    Sargun Dhillon authored
    In several patches work has been done to enable NFSv4 to use user
    namespaces:
    58002399: NFSv4: Convert the NFS client idmapper to use the container user namespace
    3b7eb5e3: NFS: When mounting, don't share filesystems between different user namespaces
    
    Unfortunately, the userspace APIs were only such that the userspace facing
    side of the filesystem (superblock s_user_ns) could be set to a non init
    user namespace. This furthers the fs_context related refactoring, and
    piggybacks on top of that logic, so the superblock user namespace, and the
    NFS user namespace are the same.
    
    Users can still use rpc.idmapd if they choose to, but there are complexities
    with user namespaces and request-key that have yet to be addresssed.
    
    Eventually, we will need to at least:
      * Come up with an upcall mechanism that can be triggered inside of the container,
        or safely triggered outside, with the requisite context to do the right
        mapping. * Handle whatever refactoring needs to be done in net/sunrpc.
    Signed-off-by: default avatarSargun Dhillon <sargun@sargun.me>
    Tested-by: default avatarAlban Crequy <alban.crequy@gmail.com>
    Fixes: 62a55d08 ("NFS: Additional refactoring for fs_context conversion")
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
    d3ff46fe
nfs4client.c 33.9 KB