[CRIU] crtools error: "can't splice to pipe"

Pavel Emelyanov xemul at parallels.com
Wed Apr 30 04:17:03 PDT 2014


On 04/30/2014 02:28 PM, Cyrill Gorcunov wrote:
> 
> Could you please try the patch attached? Need to figure out why access on
> some pages are failing. The dump log will be big so don't get surprised.

> @@ -68,6 +85,19 @@ static int dump_pages(struct parasite_dump_pages_args *args)
>  		return -1;
>  
>  	iovs = pargs_iovs(args);
> +
> +	{
> +		struct iovec *v = &iovs[args->off];
> +		size_t i, j;
> +
> +		for (i = 0, v = &iovs[args->off]; i < args->nr_segs; i++, v++) {
> +			for (j = 0; j < v->iov_len; j += PAGE_SIZE) {
> +				pr_msg("dump_pages %lx\n", (unsigned long)v->iov_base + j);
> +				builtin_memcpy(____data, v->iov_base + j, PAGE_SIZE);
> +			}
> +		}
> +	}
> +
>  	ret = sys_vmsplice(p, &iovs[args->off], args->nr_segs,
>  				SPLICE_F_GIFT | SPLICE_F_NONBLOCK);
>  	if (ret != PAGE_SIZE * args->nr_pages) {
> 

The ____data thing is write-only. What is it for?

Thanks,
Pavel


More information about the CRIU mailing list