[CRIU] [PATCH CRIU 2/4] mount: do not make external mounts to be private if not needed
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Wed Jan 20 13:25:05 PST 2016
On 01/20/2016 08:47 PM, Tycho Andersen wrote:
> On Wed, Jan 20, 2016 at 06:42:56PM +0300, Pavel Tikhomirov wrote:
>> external mounts always have shared == master == 0
>
> I don't understand the patch notes here; if external mounts always
> have this, why is this patch needed? Isn't it a no-op?
I mean, first, we set force_private_remount only once inside
do_bind_mount in block "if (mi->external) {...}" but for that case we
always have "force_private_remount || (!shared && !master)" equal to
true as shared is 0 and master is 0. So now force_private_remount has no
purpose as I can see. So I propose to change it to other behavior - just
ignore unset master and slave for mounts with mi->external != 0.
>
>> https://jira.sw.ru/browse/PSBM-42829
>> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
>> ---
>> mount.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/mount.c b/mount.c
>> index e267e10..424949a 100644
>> --- a/mount.c
>> +++ b/mount.c
>> @@ -2392,7 +2392,8 @@ static int do_bind_mount(struct mount_info *mi)
>> * shared - the mount is in the same shared group with mi->bind
>> * mi->shared_id && !shared - create a new shared group
>> */
>> - if (restore_shared_options(mi, force_private_remount || (!shared && !master),
>> + if (restore_shared_options(mi, force_private_remount
>> + || (!shared && !master && !mi->external),
>> mi->shared_id && !shared,
>> mi->master_id && !master))
>> return -1;
>> --
>> 1.9.3
>>
More information about the CRIU
mailing list