summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorDan Swartzendruber <[email protected]>2014-08-29 15:12:21 -0400
committerBrian Behlendorf <[email protected]>2014-09-03 09:17:14 -0700
commit287be44f536e27d377518badd2bd8e2758db2be6 (patch)
tree70d096920cf17ad445e0e08cf687b6adcdc51942 /module
parentbcd9624d0f941bebf732f61bcb7bdbd223b0d396 (diff)
Improve handling of filesystem versions
Change mount code to diagnose filesystem versions that are not supported by the current implementation. Change upgrade code to do likewise and refuse to upgrade a pool if any filesystems on it are a version which is not supported by the current implementation. Signed-off-by: Brian Behlendorf <[email protected]> Signed-off-by: Dan Swartzendruber <[email protected]> Closes: #2616
Diffstat (limited to 'module')
-rw-r--r--module/zfs/zfs_vfsops.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/module/zfs/zfs_vfsops.c b/module/zfs/zfs_vfsops.c
index a27ac694d..eea78417a 100644
--- a/module/zfs/zfs_vfsops.c
+++ b/module/zfs/zfs_vfsops.c
@@ -679,12 +679,7 @@ zfs_sb_create(const char *osname, zfs_sb_t **zsbp)
error = zfs_get_zplprop(os, ZFS_PROP_VERSION, &zsb->z_version);
if (error) {
goto out;
- } else if (zsb->z_version >
- zfs_zpl_version_map(spa_version(dmu_objset_spa(os)))) {
- (void) printk("Can't mount a version %lld file system "
- "on a version %lld pool\n. Pool must be upgraded to mount "
- "this file system.", (u_longlong_t)zsb->z_version,
- (u_longlong_t)spa_version(dmu_objset_spa(os)));
+ } else if (zsb->z_version > ZPL_VERSION) {
error = SET_ERROR(ENOTSUP);
goto out;
}