if (strncmp(name, opt->name, strlen(name)) == 0) {
*mntflags |= opt->mntmask;
*zfsflags |= opt->zfsmask;
-
- /* MS_USERS implies default user options */
- if (opt->mntmask & (MS_USERS))
- *mntflags |= (MS_NOEXEC|MS_NOSUID|MS_NODEV);
-
- /* MS_OWNER|MS_GROUP imply default owner options */
- if (opt->mntmask & (MS_OWNER | MS_GROUP))
- *mntflags |= (MS_NOSUID|MS_NODEV);
-
error = 0;
goto out;
}
/* canonicalize the mount point */
if (realpath(argv[1], mntpoint) == NULL) {
(void) fprintf(stderr, gettext("filesystem '%s' cannot be "
- "mounted due to a canonicalization failure.\n"), dataset);
+ "mounted at '%s' due to canonicalization error %d.\n"),
+ dataset, argv[1], errno);
return (MOUNT_SYSERR);
}
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"