From: Vaclav Dolezal Date: Mon, 19 Feb 2018 17:58:23 +0000 (+0100) Subject: mount: add support for namespaces X-Git-Tag: v2.33-rc1~218 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21edc0f71a6cfff41d6ae4d8fdc960b4fc54a4ff;p=thirdparty%2Futil-linux.git mount: add support for namespaces Signed-off-by: Vaclav Dolezal Signed-off-by: Karel Zak --- diff --git a/sys-utils/mount.c b/sys-utils/mount.c index 040a84a575..a4523d731d 100644 --- a/sys-utils/mount.c +++ b/sys-utils/mount.c @@ -574,6 +574,7 @@ int main(int argc, char **argv) { "options-mode", required_argument, NULL, MOUNT_OPT_OPTMODE }, { "options-source", required_argument, NULL, MOUNT_OPT_OPTSRC }, { "options-source-force", no_argument, NULL, MOUNT_OPT_OPTSRC_FORCE}, + { "namespace", required_argument, NULL, 'N' }, { NULL, 0, NULL, 0 } }; @@ -599,7 +600,7 @@ int main(int argc, char **argv) mnt_context_set_tables_errcb(cxt, table_parser_errcb); - while ((c = getopt_long(argc, argv, "aBcfFhilL:Mno:O:rRsU:vVwt:T:", + while ((c = getopt_long(argc, argv, "aBcfFhilL:Mno:O:rRsU:vVwt:T:N:", longopts, NULL)) != -1) { /* only few options are allowed for non-root users */ @@ -690,6 +691,15 @@ int main(int argc, char **argv) oper = 1; append_option(cxt, "rbind"); break; + case 'N': + { + int tmp; + if ((tmp = mnt_context_set_target_ns(cxt, optarg))) { + errno = -tmp; + err(MNT_EX_SYSERR, _("failed to set target namespace")); + } + break; + } case MOUNT_OPT_SHARED: append_option(cxt, "shared"); propa = 1;