mount: avoid duplicate entries in mtab when mount -f

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2007-05-01 00:28:08 +02:00
parent 8d5807b942
commit bb369b1404
2 changed files with 13 additions and 1 deletions

View File

@ -341,7 +341,9 @@ conjunction with the
flag to determine what the
.B mount
command is trying to do. It can also be used to add entries for devices
that were mounted earlier with the -n option.
that were mounted earlier with the -n option. The -f option checks for
existing record in /etc/mtab and fails when the record already
exists (with regular non-fake mount, this check is done by kernel).
.TP
.B \-i
Don't call the /sbin/mount.<filesystem> helper even if it exists.

View File

@ -190,6 +190,8 @@ static const struct opt_map opt_map[] = {
static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption,
*opt_speed, *opt_comment, *opt_uhelper;
static int mounted (const char *spec0, const char *node0);
static struct string_opt_map {
char *tag;
int skip;
@ -861,6 +863,14 @@ try_mount_one (const char *spec0, const char *node0, const char *types0,
suid_check(spec, node, &flags, &user);
/* The "mount -f" checks for for existing record in /etc/mtab (with
* regular non-fake mount this is usually done by kernel)
*/
if (fake && mounted (spec, node))
die(EX_USAGE, _("mount: according to mtab, "
"%s is already mounted on %s\n"),
spec, node);
mount_opts = extra_opts;
if (opt_speed)