diff options
author | avg <avg@FreeBSD.org> | 2012-11-04 13:50:08 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2012-11-04 13:50:08 +0000 |
commit | f72dea1eb077aaf0c2555f86adbf52c99f41f314 (patch) | |
tree | 716216cf6e07c842155a31f84d14505ce6d1e86d | |
parent | b238a5c3f32ebd107a135a212ffb90ffb247a0a6 (diff) | |
download | FreeBSD-src-f72dea1eb077aaf0c2555f86adbf52c99f41f314.zip FreeBSD-src-f72dea1eb077aaf0c2555f86adbf52c99f41f314.tar.gz |
zfs_mount: drop vfs.zfs.rootpool.prefer_cached_config tunable
It turned out to be not that useful, because its default value may lead
to a problem when a root pool is present in zpool.cache, but its
on-disk status is 'exported'. This may happen if the pool was imported
in a different environment with -f flag and then exported.
MFC after: 12 days
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c index 90a6f7a..874b99b 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c @@ -1655,24 +1655,12 @@ zfs_mount(vfs_t *vfsp) if ((vfsp->vfs_flag & MNT_ROOTFS) != 0 && (vfsp->vfs_flag & MNT_UPDATE) == 0) { char pname[MAXNAMELEN]; - spa_t *spa; - int prefer_cache; error = getpoolname(osname, pname); + if (error == 0) + error = spa_import_rootpool(pname); if (error) goto out; - - prefer_cache = 1; - TUNABLE_INT_FETCH("vfs.zfs.rootpool.prefer_cached_config", - &prefer_cache); - mutex_enter(&spa_namespace_lock); - spa = spa_lookup(pname); - mutex_exit(&spa_namespace_lock); - if (!prefer_cache || spa == NULL) { - error = spa_import_rootpool(pname); - if (error) - goto out; - } } DROP_GIANT(); error = zfs_domount(vfsp, osname); |