[CRIU] [PATCH 1/3] files-reg: Refactor create_ghost()
Pavel Emelyanov
xemul at parallels.com
Mon Dec 21 00:56:05 PST 2015
On 12/15/2015 04:29 PM, Kirill Tkhai wrote:
> In the most cases, file descriptor is not need in this function.
> We can use chown() instead of fchown(), and operate with a path
> directly.
>
> The patch moves copying content of a regular file to new function
> mkreg_ghost(). This will be used in next patches.
>
> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
> ---
> files-reg.c | 42 ++++++++++++++++++++++--------------------
> 1 file changed, 22 insertions(+), 20 deletions(-)
>
> diff --git a/files-reg.c b/files-reg.c
> index 425dc04..8469417 100644
> --- a/files-reg.c
> +++ b/files-reg.c
> @@ -94,10 +94,24 @@ static int note_link_remap(char *path, struct ns_id *nsid)
> return -1;
> }
>
> +static int mkreg_ghost(char *path, u32 mode, struct ghost_file *gf, struct cr_img *img)
The gf arg is unused here.
> +{
> + int gfd, ret;
> +
> + gfd = open(path, O_WRONLY | O_CREAT | O_EXCL, mode);
> + if (gfd < 0)
> + return -1;
> +
> + ret = copy_file(img_raw_fd(img), gfd, 0);
> + close(gfd);
> +
> + return ret;
> +}
> +
> static int create_ghost(struct ghost_file *gf, GhostFileEntry *gfe, struct cr_img *img)
> {
> - int gfd, ghost_flags, ret;
> char path[PATH_MAX];
> + int ret;
>
> ret = rst_get_mnt_root(gf->remap.rmnt_id, path, sizeof(path));
> if (ret < 0) {
More information about the CRIU
mailing list