summaryrefslogtreecommitdiffstats
path: root/sys-utils/mount.c
diff options
context:
space:
mode:
authorKarel Zak2012-04-24 11:59:18 +0200
committerKarel Zak2012-04-24 11:59:18 +0200
commitba24923e97e099668b8c96dba9596c90cb58c417 (patch)
tree83ce9b9a3907ccf1bf5c470f09f1267f5bf7878e /sys-utils/mount.c
parentlibmount: add special MNT_ERR_ codes (diff)
downloadkernel-qcow2-util-linux-ba24923e97e099668b8c96dba9596c90cb58c417.tar.gz
kernel-qcow2-util-linux-ba24923e97e099668b8c96dba9596c90cb58c417.tar.xz
kernel-qcow2-util-linux-ba24923e97e099668b8c96dba9596c90cb58c417.zip
mount: (new) use MNT_ERR_ for error messages
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/mount.c')
-rw-r--r--sys-utils/mount.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/sys-utils/mount.c b/sys-utils/mount.c
index a017f2f2d..e5d7a4fc0 100644
--- a/sys-utils/mount.c
+++ b/sys-utils/mount.c
@@ -347,29 +347,28 @@ try_readonly:
case -EBUSY:
warnx(_("%s is already mounted"), src);
return MOUNT_EX_USAGE;
- }
-
- if (!tgt || (!src && !(mflags & MS_PROPAGATION))) {
- if (!mnt_context_fstab_applied(cxt))
- warnx(_("can't find %s in %s"), src ? src : tgt,
+ case -MNT_ERR_NOFSTAB:
+ warnx(_("can't find %s in %s"), src ? src : tgt,
mnt_get_fstab_path());
- else if (mflags & MS_REMOUNT)
- warnx(_("%s not mounted"), src ? src : tgt);
-
return MOUNT_EX_USAGE;
- }
-
- if (!mnt_context_get_fstype(cxt)) {
+ case -MNT_ERR_NOFSTYPE:
if (restricted)
warnx(_("I could not determine the filesystem type, "
"and none was specified"));
else
warnx(_("you must specify the filesystem type"));
return MOUNT_EX_USAGE;
- }
- return handle_generic_errors(rc, _("%s: mount failed"),
- tgt ? tgt : src);
+ case -MNT_ERR_NOSOURCE:
+ if (src)
+ warnx(_("can't find %s"), src);
+ else
+ warnx(_("mount source not defined"));
+ return MOUNT_EX_USAGE;
+ default:
+ return handle_generic_errors(rc, _("%s: mount failed"),
+ tgt ? tgt : src);
+ }
} else if (mnt_context_get_syscall_errno(cxt) == 0) {
/*
* mount(2) syscall success, but something else failed