From: Konstantin Khorenko <khore...@virtuozzo.com>

We mount secondary ploop on host for resize functionality so allow mount
in init userns if fs already mounted in non-init userns.

https://jira.sw.ru/browse/PSBM-68599

Signed-off-by: Konstantin Khorenko <khore...@virtuozzo.com>

This hack is also needed for "vzctl snapshot-mount ..."
functionality for running Containers.

https://jira.sw.ru/browse/PSBM-128132

(cherry picked from vz7 commit f8a3e221f5d2 ("ve/fs: allow mount fs in
init userns if it's mounted in another userns"))

Signed-off-by: Konstantin Khorenko <khore...@virtuozzo.com>

(cherry picked from vz8 commit a6d67427a9c921b685dc20cd64025770b950203c)
Signed-off-by: Andrey Zhadchenko <andrey.zhadche...@virtuozzo.com>
---
 fs/super.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/super.c b/fs/super.c
index 5ea020b..d3f48cf 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -582,7 +582,12 @@ struct super_block *sget_fc(struct fs_context *fc,
        return s;
 
 share_extant_sb:
-       if (user_ns != old->s_user_ns) {
+       /* PSBM-86208: we mount secondary ploop on host for
+        * resize functionality so allow mount in init userns
+        * if fs already mounted in non-init userns
+        */
+       if (user_ns != old->s_user_ns &&
+           user_ns != &init_user_ns) {
                spin_unlock(&sb_lock);
                destroy_unused_super(s);
                return ERR_PTR(-EBUSY);
-- 
1.8.3.1

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to