summaryrefslogtreecommitdiffstats
path: root/libmount/src
diff options
context:
space:
mode:
authorVaclav Dolezal2018-03-13 14:45:43 +0100
committerKarel Zak2018-06-11 15:51:17 +0200
commit8342e5840dd862d2d13f3b8be38dfa070c8d7236 (patch)
tree3b253fe70fbc4e204a923eb543e203c5552ef99f /libmount/src
parentlibmount: note namespaces in mnt_reset_context() docs (diff)
downloadkernel-qcow2-util-linux-8342e5840dd862d2d13f3b8be38dfa070c8d7236.tar.gz
kernel-qcow2-util-linux-8342e5840dd862d2d13f3b8be38dfa070c8d7236.tar.xz
kernel-qcow2-util-linux-8342e5840dd862d2d13f3b8be38dfa070c8d7236.zip
libmount: added error MNT_ERR_NAMESPACE
Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
Diffstat (limited to 'libmount/src')
-rw-r--r--libmount/src/context_mount.c8
-rw-r--r--libmount/src/context_umount.c8
-rw-r--r--libmount/src/libmount.h.in6
3 files changed, 22 insertions, 0 deletions
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
index 6207bd814..9245d73dd 100644
--- a/libmount/src/context_mount.c
+++ b/libmount/src/context_mount.c
@@ -1452,6 +1452,10 @@ int mnt_context_get_mount_excode(
if (buf)
snprintf(buf, bufsz, _("locking failed"));
return MNT_EX_FILEIO;
+ case -MNT_ERR_NAMESPACE:
+ if (buf)
+ snprintf(buf, bufsz, _("failed to switch namespace"));
+ return MNT_EX_SYSERR;
default:
return mnt_context_get_generic_excode(rc, buf, bufsz, _("mount failed: %m"));
}
@@ -1465,6 +1469,10 @@ int mnt_context_get_mount_excode(
if (buf)
snprintf(buf, bufsz, _("filesystem was mounted, but failed to update userspace mount table"));
return MNT_EX_FILEIO;
+ } else if (rc == -MNT_ERR_NAMESPACE) {
+ if (buf)
+ snprintf(buf, bufsz, _("filesystem was mounted, but failed to switch namespace back"));
+ return MNT_EX_SYSERR;
} else if (rc < 0)
return mnt_context_get_generic_excode(rc, buf, bufsz,
diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c
index 81a650352..3e320bec9 100644
--- a/libmount/src/context_umount.c
+++ b/libmount/src/context_umount.c
@@ -1076,6 +1076,10 @@ int mnt_context_get_umount_excode(
if (buf)
snprintf(buf, bufsz, _("locking failed"));
return MNT_EX_FILEIO;
+ } else if (rc == -MNT_ERR_NAMESPACE) {
+ if (buf)
+ snprintf(buf, bufsz, _("failed to switch namespace"));
+ return MNT_EX_SYSERR;
}
return mnt_context_get_generic_excode(rc, buf, bufsz,
_("umount failed: %m"));
@@ -1089,6 +1093,10 @@ int mnt_context_get_umount_excode(
if (buf)
snprintf(buf, bufsz, _("filesystem was unmounted, but failed to update userspace mount table"));
return MNT_EX_FILEIO;
+ } else if (rc == -MNT_ERR_NAMESPACE) {
+ if (buf)
+ snprintf(buf, bufsz, _("filesystem was unmounted, but failed to switch namespace back"));
+ return MNT_EX_SYSERR;
} else if (rc < 0)
return mnt_context_get_generic_excode(rc, buf, bufsz,
diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in
index 885729dfb..3a9440371 100644
--- a/libmount/src/libmount.h.in
+++ b/libmount/src/libmount.h.in
@@ -205,6 +205,12 @@ enum {
* failed to lock mtab/utab or so.
*/
#define MNT_ERR_LOCK 5008
+/**
+ * MNT_ERR_NAMESPACE:
+ *
+ * failed to switch namespace
+ */
+#define MNT_ERR_NAMESPACE 5009
/*