diff options
author | Karel Zak | 2012-01-20 13:47:08 +0100 |
---|---|---|
committer | Karel Zak | 2012-01-20 13:47:08 +0100 |
commit | d946359a5b79d4e591705c2602fa57d5beb11068 (patch) | |
tree | d3fb7499dad707bd0ed91c2526ddfbaeefd75820 /sys-utils/mount.c | |
parent | mount: (new) add selinux warning (diff) | |
download | kernel-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.c | 24 |
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); } } } |