To support several storage backends (ploops) inside container we've hacks in libvzctl which setup "old" permissions when restore procedure initiated. But the former idea was simply allow CRIU to do all the works and restore ploops mounts by its own (since CRIU fetches all mount options and such).
For this sake we turn off mount options filtering provisionally if @is_pseudosuper is set, and CRIU restore mounts as regular ones. https://jira.sw.ru/browse/PSBM-48188 Signed-off-by: Cyrill Gorcunov <[email protected]> CC: Igor Sukhih <[email protected]> CC: Vladimir Davydov <[email protected]> CC: Konstantin Khorenko <[email protected]> --- fs/namespace.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) Index: linux-pcs7.git/fs/namespace.c =================================================================== --- linux-pcs7.git.orig/fs/namespace.c +++ linux-pcs7.git/fs/namespace.c @@ -1933,7 +1933,12 @@ again: if (devmnt->dev == dev) { err = ve_devmnt_check(data, devmnt->allowed_options); - if (!err && !remount) + /* + * In case of @is_pseudouser set, ie restore procedure, + * we don't check for allowed options filtering, since + * restore mode is special. + */ + if ((ve->is_pseudosuper || !err) && !remount) err = ve_devmnt_insert(data, devmnt->hidden_options); break; _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
