diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2012-07-08 14:31:00 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2012-07-08 14:31:00 +0000 |
commit | 887908b79c7ae681e8b2bb02279240af317262d5 (patch) | |
tree | b7308c555d181eef75bcf31c0d747e006d2dd458 /sbin | |
parent | b87977228a6f6a5a391c69fdfb2dc717d206ece4 (diff) |
Return EROFS when a read-write mount of a read-only sd(4) device
is attempted. This is instead of the current EACCES and is intended
to result in better error messages from mount(8).
Tweak default EROFS error text to mention fsck'ing in mount_ext2fs
and mount_msdos since they both have fsck's like ffs.
ok deraadt@ aja@ ian@ phessler@
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/mount_ext2fs/mount_ext2fs.c | 6 | ||||
-rw-r--r-- | sbin/mount_msdos/mount_msdos.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sbin/mount_ext2fs/mount_ext2fs.c b/sbin/mount_ext2fs/mount_ext2fs.c index 8797f2df9ac..a1cfd0d3f49 100644 --- a/sbin/mount_ext2fs/mount_ext2fs.c +++ b/sbin/mount_ext2fs/mount_ext2fs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mount_ext2fs.c,v 1.14 2009/10/27 23:59:33 deraadt Exp $ */ +/* $OpenBSD: mount_ext2fs.c,v 1.15 2012/07/08 14:30:58 krw Exp $ */ /* $NetBSD: mount_ffs.c,v 1.3 1996/04/13 01:31:19 jtc Exp $ */ /*- @@ -97,6 +97,10 @@ main(int argc, char *argv[]) case EOPNOTSUPP: errcause = "filesystem not supported by kernel"; break; + case EROFS: + errcause = + "filesystem must be mounted read-only; you may need to run fsck"; + break; default: errcause = strerror(errno); break; diff --git a/sbin/mount_msdos/mount_msdos.c b/sbin/mount_msdos/mount_msdos.c index 8e2aa0f3ce5..a3c1aa913e4 100644 --- a/sbin/mount_msdos/mount_msdos.c +++ b/sbin/mount_msdos/mount_msdos.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mount_msdos.c,v 1.24 2011/04/04 13:49:48 tedu Exp $ */ +/* $OpenBSD: mount_msdos.c,v 1.25 2012/07/08 14:30:58 krw Exp $ */ /* $NetBSD: mount_msdos.c,v 1.16 1996/10/24 00:12:50 cgd Exp $ */ /* @@ -140,6 +140,10 @@ main(int argc, char **argv) case EMFILE: errcause = "mount table full"; break; + case EROFS: + errcause = + "filesystem must be mounted read-only; you may need to run fsck"; + break; case EINVAL: errcause = "not an MSDOS filesystem"; |