summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Rouesnel <[email protected]>2012-12-28 01:44:16 +1100
committerBrian Behlendorf <[email protected]>2013-01-07 11:30:27 -0800
commit462ee8e3f3f1e48c857d070fa5abaf4a72246344 (patch)
tree53c7b7396d2fae8dfbe640d78f3273cefcc516c2
parent37f000c5aa76613e644cf3e5b1ec7bd2df6f7451 (diff)
Allow fake mounts to succeed on non-legacy filesystems.
mountall in Debian depends on being able to pass the -f parameter to mount, which specifies a fake mount and just updates the mtab. Currently mount.zfs will fail such a request if it is not passed with -o zfsutil. This patch allows a fake mount on a non-legacy filesystem to succeed in the same manner as a -o remount does, thus enabling mountall to work correctly. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1167
-rw-r--r--cmd/mount_zfs/mount_zfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cmd/mount_zfs/mount_zfs.c b/cmd/mount_zfs/mount_zfs.c
index 6dd831d76..9a82a2b17 100644
--- a/cmd/mount_zfs/mount_zfs.c
+++ b/cmd/mount_zfs/mount_zfs.c
@@ -474,7 +474,8 @@ main(int argc, char **argv)
return (MOUNT_USAGE);
}
- if (!zfsutil && strcmp(legacy, ZFS_MOUNTPOINT_LEGACY) && !remount) {
+ if (!zfsutil && !(remount || fake) &&
+ strcmp(legacy, ZFS_MOUNTPOINT_LEGACY)) {
(void) fprintf(stderr, gettext(
"filesystem '%s' cannot be mounted using 'mount'.\n"
"Use 'zfs set mountpoint=%s' or 'zfs mount %s'.\n"