Skip to content

Conversation

yawqi
Copy link

@yawqi yawqi commented Dec 2, 2023

Currently, only single uid/gid idmapping supported. However, in userns, multiple idmappings can be setted. Besides, in the fuse-overlayfs project, multiple idmappings are supported.
https://github.com/containers/fuse-overlayfs/blob/18f4d6768ab2178f0147c1bac0ccfd7d44841a56/README.md?plain=1#L16

This commit will be used to support kata-containers/kata-containers#8170. Currently, there is no idmap mount support for virtiofs in kernel side. So the support from the virtiofs server side can be used as a temporary workaround.

This comment containerd/containerd#7063 (comment) provides a way to solve the rootfs' idmapping problem. Although it is not used in their implementation at last, but can be used for us to support userns in kata in the first place.

yawqi added 2 commits December 2, 2023 21:52
Currently, only single mapping for uid/gid is supported.
However, for userns, mutiple uid/gid mappings can be setted.

This commit follows how fuse-overlayfs support this feature.
containers/fuse-overlayfs@3378869

Signed-off-by: Qi Wang <[email protected]>
When running test_clone_fuse_file as non-root, the test will fail.
```
---- transport::fusedev::linux_session::tests::test_clone_fuse_file stdout ----
thread 'transport::fusedev::linux_session::tests::test_clone_fuse_file' panicked at src/transport/fusedev/linux_session.rs:680:20:
called `Result::unwrap()` on an `Err` value: SessionFailure("Unexpected exit code when running fusermount: Some(1)")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

Signed-off-by: Qi Wang <[email protected]>
fn id_remap(&self, ctx: &mut Context) -> io::Result<()> {
Ok(())
}
fn id_remap(&self, ctx: &mut Context) {}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The API change doesn't seem necessary?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants