[CRIU] [PATCH v2 3/5] mount: save ext_real_root for external mounts
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Tue Mar 21 00:53:25 PDT 2017
On 03/20/2017 10:03 PM, Andrew Vagin wrote:
> On Mon, Mar 20, 2017 at 12:45:42PM +0300, Pavel Tikhomirov wrote:
>> need it to check if we can bindmount from external mount
>>
>> https://jira.sw.ru/browse/PSBM-46753
>>
>> v2: s/real_root/ext_real_root/
>> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
>> ---
>> criu/mount.c | 3 ++-
>> images/mnt.proto | 1 +
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/criu/mount.c b/criu/mount.c
>> index 6e5a4c6..ef5c1ec 100644
>> --- a/criu/mount.c
>> +++ b/criu/mount.c
>> @@ -1335,6 +1335,7 @@ static int dump_one_mountpoint(struct mount_info *pm, struct cr_img *img)
>> * for reverse mapping details.
>> */
>> me.root = pm->external;
>> + me.ext_real_root = pm->root;
>> me.has_ext_mount = true;
>> me.ext_mount = true;
>> } else
>> @@ -2445,7 +2446,7 @@ static int get_mp_root(MntEntry *me, struct mount_info *mi)
>> {
>> char *ext = NULL;
>>
>> - mi->root = xstrdup(me->root);
>> + mi->root = xstrdup(me->ext_real_root ? : me->root);
>> if (!mi->root)
>> return -1;
>>
>> diff --git a/images/mnt.proto b/images/mnt.proto
>> index 50cd8af..3294319 100644
>> --- a/images/mnt.proto
>> +++ b/images/mnt.proto
>> @@ -53,4 +53,5 @@ message mnt_entry {
>>
>> optional bool deleted = 16;
>> optional uint32 sb_flags = 17 [(criu).hex = true];
>> + optional string ext_real_root = 18;
>
> We need a comment here what this means. What do you think if we add
> ext_key instead of ext_real_root, for me it looks more understandable.
If we use me->root for real root, and me->ext_key for the key of the
mount, that would surely break backward compatibility, as old criu will
still want the key in me->root.
Thus we should leave the key of the mount in me->root. And naming the
field in which I want to save the real root(path in the file system to
the root of these mount) as me->ext_key is counterintuitive to me.
>> }
>> --
>> 2.9.3
>>
--
Best regards, Tikhomirov Pavel
Software Developer, Virtuozzo.
More information about the CRIU
mailing list