[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