> jcmd uses > src/jdk.internal.jvmstat/linux/classes/sun/jvmstat/PlatformSupportImpl.java > to scan temporary directories to find out processes in the container. It > checks inode to ensure the temp directory is not conflicted. However inode > maybe same value between the container and others. Thus we should check > device id for that case. > > For example I saw following case on [distroless > cc-debian11](https://github.com/GoogleContainerTools/distroless/blob/main/cc/README.md) > container. I started rescue:jdk19 container with sharing PID namespace. > `/proc/1/root/tmp` is different from `/tmp` on rescue:jdk19, but they are > same inode value. However we can see the differense in device id. > > > $ podman run -it --rm --entrypoint=sh --pid=container:fa39662f7352 > rescue:jdk19 > / # > / # stat /tmp > File: /tmp > Size: 29 Blocks: 0 IO Block: 4096 directory > Device: efh/239d Inode: 135674931 Links: 1 > Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) > Access: 2022-04-05 08:51:37.000000000 > Modify: 2022-04-05 08:51:37.000000000 > Change: 2022-04-05 08:51:37.000000000 > > / # stat /proc/1/root/tmp > File: /proc/1/root/tmp > Size: 29 Blocks: 0 IO Block: 4096 directory > Device: e1h/225d Inode: 135674931 Links: 1 > Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) > Access: 2022-04-05 08:51:37.000000000 > Modify: 2022-04-05 08:50:42.000000000 > Change: 2022-04-05 08:50:42.000000000
Yasumasa Suenaga has updated the pull request incrementally with one additional commit since the last revision: Fix comments ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/8103/files - new: https://git.openjdk.java.net/jdk/pull/8103/files/e5f76a60..0e0ccbe0 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8103&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8103&range=00-01 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/8103.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/8103/head:pull/8103 PR: https://git.openjdk.java.net/jdk/pull/8103