[CRIU] Re: [PATCH 2/4] IPC: show dump content
Pavel Emelyanov
xemul at parallels.com
Mon Jan 30 13:01:40 EST 2012
On 01/30/2012 09:19 PM, Kinsbursky Stanislav wrote:
> From: Stanislav Kinsbursky <skinsbursky at parallels.com>
>
>
>
> Signed-off-by: Stanislav Kinsbursky <skinsbursky at parallels.com>
Acked-by: Pavel Emelyanov <xemul at parallels.com>
> ---
> cr-show.c | 4 ++++
> ipc_ns.c | 36 ++++++++++++++++++++++++++++++++++++
> 2 files changed, 40 insertions(+), 0 deletions(-)
>
> diff --git a/cr-show.c b/cr-show.c
> index 68174d1..e560245 100644
> --- a/cr-show.c
> +++ b/cr-show.c
> @@ -20,6 +20,7 @@
> #include "sockets.h"
> #include "image.h"
> #include "uts_ns.h"
> +#include "ipc_ns.h"
>
> #define DEF_PAGES_PER_LINE 6
>
> @@ -514,6 +515,9 @@ static int cr_parse_file(struct cr_options *opts)
> case CREDS_MAGIC:
> show_creds(fd);
> break;
> + case IPCNS_MAGIC:
> + show_ipc_ns(fd);
> + break;
> default:
> pr_err("Unknown magic %x on %s\n", magic, opts->show_dump_file);
> goto err;
> diff --git a/ipc_ns.c b/ipc_ns.c
> index c2ec2d4..434501c 100644
> --- a/ipc_ns.c
> +++ b/ipc_ns.c
> @@ -274,3 +274,39 @@ int dump_ipc_ns(int ns_pid, struct cr_fdset *fdset)
> }
> return 0;
> }
> +
> +static void show_ipc_entry(struct ipc_ns_entry *entry)
> +{
> + pr_info("/proc/sys/kernel/sem : %d\t%d\t%d\t%d\n",
> + entry->sem_ctls[0], entry->sem_ctls[1],
> + entry->sem_ctls[2], entry->sem_ctls[3]);
> + pr_info("/proc/sys/kernel/msgmax : %d\n", entry->msg_ctlmax);
> + pr_info("/proc/sys/kernel/msgmnb : %d\n", entry->msg_ctlmnb);
> + pr_info("/proc/sys/kernel/msgmni : %d\n", entry->msg_ctlmni);
> + pr_info("/proc/sys/kernel/auto_msgmni : %d\n", entry->auto_msgmni);
> + pr_info("/proc/sys/kernel/shmmax : %d\n", entry->shm_ctlmax);
> + pr_info("/proc/sys/kernel/shmall : %d\n", entry->shm_ctlall);
> + pr_info("/proc/sys/kernel/shmmni : %d\n", entry->shm_ctlmni);
> + pr_info("/proc/sys/kernel/shm_rmid_forced : %d\n", entry->shm_rmid_forced);
> + pr_info("/proc/sys/fs/mqueue/queues_max : %d\n", entry->mq_queues_max);
> + pr_info("/proc/sys/fs/mqueue/msg_max : %d\n", entry->mq_msg_max);
> + pr_info("/proc/sys/fs/mqueue/msgsize_max : %d\n", entry->mq_msgsize_max);
> +}
> +
> +static void show_ipc_data(int fd)
> +{
> + int ret;
> + struct ipc_ns_data ipc;
> +
> + ret = read_img(fd, &ipc);
> + if (ret <= 0)
> + return;
> + show_ipc_entry(&ipc.entry);
> +}
> +
> +void show_ipc_ns(int fd)
> +{
> + pr_img_head(CR_FD_IPCNS);
> + show_ipc_data(fd);
> + pr_img_tail(CR_FD_IPCNS);
> +}
>
More information about the CRIU
mailing list