containerd/cmd/ctr/commands
Ilya Hanov 1555a31bf6 mount: support idmapped mount points
This patch introduces idmapped mounts support for
container rootfs.

The idmapped mounts support was merged in Linux kernel 5.12
torvalds/linux@7d6beb7.
This functionality allows to address chown overhead for containers that
use user namespace.

The changes are based on experimental patchset published by
Mauricio Vásquez #4734.
Current version reiplements support of idmapped mounts using Golang.

Performance measurement results:
Image           idmapped mount  recursive chown
BusyBox         00.135          04.964
Ubuntu          00.171          15.713
Fedora          00.143          38.799

Signed-off-by: Mauricio Vásquez <mauricio@kinvolk.io>
Signed-off-by: Artem Kuzin <artem.kuzin@huawei.com>
Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
Signed-off-by: Ilya Hanov <ilya.hanov@huawei-partners.com>
2023-09-05 01:23:30 +03:00
..
containers Cleanup logrus imports 2023-05-05 11:54:14 -07:00
content remotes: allow FetchByDigest client to pass mediatype as header 2023-06-27 16:36:01 +08:00
events use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
images Merge pull request #8998 from dmcgowan/image-inspect 2023-08-23 14:12:56 -04:00
info keep the uppercase letter for flag info 2023-02-06 16:37:24 +08:00
install use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
leases use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
namespaces use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
oci keep the uppercase letter for flag info 2023-02-06 16:37:24 +08:00
plugins use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
pprof use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
run mount: support idmapped mount points 2023-09-05 01:23:30 +03:00
sandboxes use uppercase letters for flag usage 2023-03-08 14:28:06 +08:00
shim Cleanup logrus imports 2023-05-05 11:54:14 -07:00
snapshots replace some fmt.Sprintfs with strconv 2023-08-23 16:43:02 +02:00
tasks ctr: metrics: drop unused retval from printWindowsStats() 2023-08-19 15:33:40 +02:00
version ctr version: add args check, prohibit incoming args 2023-02-13 17:20:18 +08:00
client.go epoch: propagate SOURCE_DATE_EPOCH via ctx 2022-12-12 09:02:35 +09:00
cni.go Fix some typos 2023-05-16 10:12:50 +08:00
commands_unix.go keep the uppercase letter for flag info 2023-02-06 16:37:24 +08:00
commands_windows.go keep the uppercase letter for flag info 2023-02-06 16:37:24 +08:00
commands.go ctr: update WritePidFile to use atomicfile 2023-06-02 16:56:34 -07:00
resolver.go Add configuration options to local transfer service 2023-02-25 03:40:06 +00:00
signals_linux.go Ignore SIGURG signals in signal forwarder 2020-09-04 16:19:31 -07:00
signals_notlinux.go Cleanup build constraints 2022-12-08 09:36:20 -08:00
signals.go Cleanup logrus imports 2023-05-05 11:54:14 -07:00