[CRIU] [RFC PATCH 3/6] introduce mnt_entry->fsname for FSTYPE__AUTO filesystems
Pavel Emelyanov
xemul at parallels.com
Mon Mar 30 02:44:09 PDT 2015
On 03/27/2015 08:55 PM, Oleg Nesterov wrote:
> A separate change for documentation purposes.
>
> This patch adds mnt_entry->fsname to dump/restore the ->fsname of the
> FSTYPE__AUTO filesystems. This is ugly, we need to dump and restore
> the list of FSTYPE__AUTO names once,
I don't understand this :( What's wrong with how it's done in this patch?
> but I do not know how to do this
> because I do not understand protobufs.
>
> Help!
>
> Signed-off-by: Oleg Nesterov <oleg at redhat.com>
> ---
> mount.c | 20 ++++++++++++++++++++
> protobuf/mnt.proto | 2 ++
> 2 files changed, 22 insertions(+), 0 deletions(-)
>
> diff --git a/mount.c b/mount.c
> index 52156d6..e05b599 100644
> --- a/mount.c
> +++ b/mount.c
> @@ -1160,6 +1160,9 @@ static int dump_one_mountpoint(struct mount_info *pm, struct cr_img *img)
>
> me.fstype = pm->fstype->code;
>
> + if (me.fstype == FSTYPE__AUTO)
> + me.fsname = pm->fstype->name;
> +
> if (pm->parent && !pm->dumped && !pm->need_plugin &&
> pm->fstype->dump && fsroot_mounted(pm)) {
> struct mount_info *t;
> @@ -1881,6 +1884,23 @@ static int collect_mnt_from_image(struct mount_info **pms, struct ns_id *nsid)
> pm->need_plugin = me->with_plugin;
> pm->is_ns_root = is_root(me->mountpoint);
>
> + BUG_ON((me->fstype == FSTYPE__AUTO) !=
> + (me->fsname != NULL));
> +
> + if (me->fstype == FSTYPE__AUTO) {
> + /*
> + * TODO: this is ugly and suboptimal. We should dump
> + * the list of FSTYPE__AUTO fsnames and restore them
> + * all once
> + */
> +
> + /*
> + * XXX: just print the dumped/restored ->fsname till
> + * the next patch.
> + */
> + pr_warn("XXX FSTYPE__AUTO name:[%s]\n", me->fsname);
> + }
> +
> /* FIXME: abort unsupported early */
> pm->fstype = decode_fstype(me->fstype);
>
> diff --git a/protobuf/mnt.proto b/protobuf/mnt.proto
> index 9bb920d..8afb976 100644
> --- a/protobuf/mnt.proto
> +++ b/protobuf/mnt.proto
> @@ -36,4 +36,6 @@ message mnt_entry {
>
> optional bool with_plugin = 12;
> optional bool ext_mount = 13;
> +
> + optional string fsname = 14;
> }
>
More information about the CRIU
mailing list