diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2017-04-13 14:33:04 -0700 |
---|---|---|
committer | Matthew Ahrens <mahrens@delphix.com> | 2017-04-13 20:50:37 -0700 |
commit | b127fe3c059af7adf772735498680b4f2e1405ef (patch) | |
tree | f35ce53bd445ba1791d201649886287230f4af4d | |
parent | 53d6c69268ad98d311e74fb98d7514711585c1fa (diff) | |
download | illumos-gate-b127fe3c059af7adf772735498680b4f2e1405ef.tar.gz |
6101 attempt to lzc_create() a filesystem under a volume results in a panic
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
-rw-r--r-- | usr/src/uts/common/fs/zfs/zfs_ioctl.c | 3 | ||||
-rw-r--r-- | usr/src/uts/common/fs/zfs/zfs_vfsops.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/zfs/zfs_ioctl.c b/usr/src/uts/common/fs/zfs/zfs_ioctl.c index ae47e8d48d..da22cb6c81 100644 --- a/usr/src/uts/common/fs/zfs/zfs_ioctl.c +++ b/usr/src/uts/common/fs/zfs/zfs_ioctl.c @@ -3035,6 +3035,9 @@ zfs_fill_zplprops_impl(objset_t *os, uint64_t zplver, ASSERT(zplprops != NULL); + if (os != NULL && os->os_phys->os_type != DMU_OST_ZFS) + return (SET_ERROR(EINVAL)); + /* * Pull out creator prop choices, if any. */ diff --git a/usr/src/uts/common/fs/zfs/zfs_vfsops.c b/usr/src/uts/common/fs/zfs/zfs_vfsops.c index 38f3de67ac..213a30b6e6 100644 --- a/usr/src/uts/common/fs/zfs/zfs_vfsops.c +++ b/usr/src/uts/common/fs/zfs/zfs_vfsops.c @@ -2243,8 +2243,10 @@ zfs_get_zplprop(objset_t *os, zfs_prop_t prop, uint64_t *value) else pname = zfs_prop_to_name(prop); - if (os != NULL) + if (os != NULL) { + ASSERT3U(os->os_phys->os_type, ==, DMU_OST_ZFS); error = zap_lookup(os, MASTER_NODE_OBJ, pname, 8, 1, value); + } if (error == ENOENT) { /* No value set, use the default value */ |