summaryrefslogtreecommitdiffstats
path: root/sys-utils/mount.c
diff options
context:
space:
mode:
authorKarel Zak2012-01-20 13:47:08 +0100
committerKarel Zak2012-01-20 13:47:08 +0100
commitd946359a5b79d4e591705c2602fa57d5beb11068 (patch)
treed3fb7499dad707bd0ed91c2526ddfbaeefd75820 /sys-utils/mount.c
parentmount: (new) add selinux warning (diff)
downloadkernel-qcow2-util-linux-d946359a5b79d4e591705c2602fa57d5beb11068.tar.gz
kernel-qcow2-util-linux-d946359a5b79d4e591705c2602fa57d5beb11068.tar.xz
kernel-qcow2-util-linux-d946359a5b79d4e591705c2602fa57d5beb11068.zip
mount: (new) improve mount -a exist codes and erroer messages
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/mount.c')
-rw-r--r--sys-utils/mount.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/sys-utils/mount.c b/sys-utils/mount.c
index b2f0be8b3..9fd0a240f 100644
--- a/sys-utils/mount.c
+++ b/sys-utils/mount.c
@@ -60,6 +60,8 @@
static int passfd = -1;
static int readwrite;
+static int mk_exit_code(struct libmnt_context *cxt, int rc);
+
static void __attribute__((__noreturn__)) exit_non_root(const char *option)
{
const uid_t ruid = getuid();
@@ -196,24 +198,16 @@ static int mount_all(struct libmnt_context *cxt)
tgt);
} else if (mnt_context_is_fork(cxt)) {
- printf("%-25s: mount successfully forked\n", tgt);
-
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: mount successfully forked\n", tgt);
} else {
- if (!mnt_context_get_status(cxt)) {
- if (mntrc > 0) {
- errno = mntrc;
- printf(_("%-25s: failed: %s\n"), tgt,
- strerror(mntrc));
- rc |= EX_FAIL;
- } else {
- printf(_("%-25s: failed\n"), tgt);
- rc |= EX_SYSERR;
- }
- } else {
- if (mnt_context_is_verbose(cxt))
- printf("%-25s: successfully mounted\n", tgt);
+ rc |= mk_exit_code(cxt, mntrc);
+ if (mnt_context_get_status(cxt)) {
rc |= EX_SOMEOK;
+
+ if (mnt_context_is_verbose(cxt))
+ printf("%-25s: successfully mounted\n", tgt);
}
}
}