Change /etc/mtab to /proc/self/mounts

Fix misleading error message:

 "The /dev/zfs device is missing and must be created.", if /etc/mtab is missing.

Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Closes #4680 
Closes #5029
This commit is contained in:
slashdd
2016-09-20 13:07:58 -04:00
committed by Brian Behlendorf
parent 25e2ab16be
commit 792517389f
13 changed files with 53 additions and 43 deletions
@@ -40,11 +40,16 @@
verify_runnable "global"
log_assert "zfs fails with unexpected scenarios."
log_assert "zfs fails with unexpected scenario."
#verify zfs failed if ZFS_DEV cannot be opened
ZFS_DEV=/dev/zfs
if is_linux; then
# On Linux, we use /proc/self/mounts, which cannot be moved.
MNTTAB=
fi
for file in $ZFS_DEV $MNTTAB; do
if [[ -e $file ]]; then
$MV $file ${file}.bak
@@ -55,4 +60,4 @@ for file in $ZFS_DEV $MNTTAB; do
$MV ${file}.bak $file
done
log_pass "zfs fails with unexpected scenarios as expected."
log_pass "zfs fails with unexpected scenario as expected."