[lxc-devel] [lxd/master] Fix forkmount
stgraber on Github
lxc-bot at linuxcontainers.org
Fri Aug 2 15:03:53 UTC 2019
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 301 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20190802/a19d3da9/attachment.bin>
-------------- next part --------------
From dca30cc980b30ddb7cac06151478e577edac2ab8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 2 Aug 2019 10:34:13 -0400
Subject: [PATCH 1/3] lxd/forkmount: Error on invalid calls
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
lxd/main_forkmount.go | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lxd/main_forkmount.go b/lxd/main_forkmount.go
index c42bfa1f2d..d4e459faf5 100644
--- a/lxd/main_forkmount.go
+++ b/lxd/main_forkmount.go
@@ -277,6 +277,9 @@ void do_lxc_forkmount()
_exit(1);
_exit(0);
+#else
+ fprintf(stderr, "error: Called lxc_forkmount when missing LXC support\n");
+ _exit(1);
#endif
}
@@ -308,6 +311,9 @@ void do_lxc_forkumount()
lxc_container_put(c);
if (ret < 0)
_exit(1);
+#else
+ fprintf(stderr, "error: Called lxc_forkumount when missing LXC support\n");
+ _exit(1);
#endif
}
From d9d76fc93affd542f868a2c33a268e14ac65f32c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 2 Aug 2019 10:43:36 -0400
Subject: [PATCH 2/3] lxd/forkmount: Properly exit on success
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
lxd/main_forkmount.go | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lxd/main_forkmount.go b/lxd/main_forkmount.go
index d4e459faf5..07e438f7d4 100644
--- a/lxd/main_forkmount.go
+++ b/lxd/main_forkmount.go
@@ -311,6 +311,8 @@ void do_lxc_forkumount()
lxc_container_put(c);
if (ret < 0)
_exit(1);
+
+ _exit(0);
#else
fprintf(stderr, "error: Called lxc_forkumount when missing LXC support\n");
_exit(1);
From 9919dea418f272e56c050aed00dcea7acf6b7335 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 2 Aug 2019 11:01:03 -0400
Subject: [PATCH 3/3] lxc/forkmount: Fix cobra parsing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
lxd/main_forkmount.go | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/lxd/main_forkmount.go b/lxd/main_forkmount.go
index 07e438f7d4..c861a725ca 100644
--- a/lxd/main_forkmount.go
+++ b/lxd/main_forkmount.go
@@ -387,18 +387,30 @@ func (c *cmdForkmount) Command() *cobra.Command {
cmd.Hidden = true
// mount
- cmdMount := &cobra.Command{}
- cmdMount.Use = "mount <PID> <source> <destination>"
- cmdMount.Args = cobra.ExactArgs(3)
- cmdMount.RunE = c.Run
- cmd.AddCommand(cmdMount)
+ cmdLXCMount := &cobra.Command{}
+ cmdLXCMount.Use = "lxc-mount <name> <lxcpath> <configpath> <source> <destination> <fstype> <flags>"
+ cmdLXCMount.Args = cobra.ExactArgs(7)
+ cmdLXCMount.RunE = c.Run
+ cmd.AddCommand(cmdLXCMount)
+
+ cmdLXDMount := &cobra.Command{}
+ cmdLXDMount.Use = "lxd-mount <PID> <source> <destination> <shiftfs>"
+ cmdLXDMount.Args = cobra.ExactArgs(4)
+ cmdLXDMount.RunE = c.Run
+ cmd.AddCommand(cmdLXDMount)
// umount
- cmdUmount := &cobra.Command{}
- cmdUmount.Use = "umount <PID> <path>"
- cmdUmount.Args = cobra.ExactArgs(2)
- cmdUmount.RunE = c.Run
- cmd.AddCommand(cmdUmount)
+ cmdLXCUmount := &cobra.Command{}
+ cmdLXCUmount.Use = "lxc-umount <name> <lxcpath> <configpath> <path>"
+ cmdLXCUmount.Args = cobra.ExactArgs(4)
+ cmdLXCUmount.RunE = c.Run
+ cmd.AddCommand(cmdLXCUmount)
+
+ cmdLXDUmount := &cobra.Command{}
+ cmdLXDUmount.Use = "lxd-umount <PID> <path>"
+ cmdLXDUmount.Args = cobra.ExactArgs(2)
+ cmdLXDUmount.RunE = c.Run
+ cmd.AddCommand(cmdLXDUmount)
return cmd
}
More information about the lxc-devel
mailing list