return (ENOTSUP);
}
- hist_buf = kmem_alloc(size, KM_SLEEP);
+ hist_buf = vmem_alloc(size, KM_SLEEP);
if ((error = spa_history_get(spa, &zc->zc_history_offset,
&zc->zc_history_len, hist_buf)) == 0) {
error = ddi_copyout(hist_buf,
}
spa_close(spa, FTAG);
- kmem_free(hist_buf, size);
+ vmem_free(hist_buf, size);
return (error);
}
VERIFY(nvlist_alloc(&errors, NV_UNIQUE_NAME, KM_SLEEP) == 0);
- zc = kmem_alloc(sizeof (zfs_cmd_t), KM_SLEEP);
+ zc = kmem_alloc(sizeof (zfs_cmd_t), KM_SLEEP | KM_NODEBUG);
(void) strcpy(zc->zc_name, dataset);
pair = nvlist_next_nvpair(props, NULL);
while (pair != NULL) {
if (error)
return (error);
- buf = kmem_alloc(bufsize, KM_SLEEP);
+ buf = vmem_alloc(bufsize, KM_SLEEP);
error = zfs_userspace_many(zsb, zc->zc_objset_type, &zc->zc_cookie,
buf, &zc->zc_nvlist_dst_size);
(void *)(uintptr_t)zc->zc_nvlist_dst,
zc->zc_nvlist_dst_size);
}
- kmem_free(buf, bufsize);
+ vmem_free(buf, bufsize);
zfs_sb_rele(zsb, FTAG);
return (error);
error = EFAULT;
if ((error == 0) && !(flag & FKIOCTL))
- error = zfs_ioc_vec[vec].zvec_secpolicy(zc, NULL);
+ error = zfs_ioc_vec[vec].zvec_secpolicy(zc, CRED());
/*
* Ensure that all pool/dataset names are valid before we pass down to
mutex_init(&zfs_share_lock, NULL, MUTEX_DEFAULT, NULL);
#endif /* HAVE_SHARE */
- printk(KERN_NOTICE "ZFS: Loaded ZFS Filesystem v%s%s\n",
- ZFS_META_VERSION, ZFS_DEBUG_STR);
+ printk(KERN_NOTICE "ZFS: Loaded module v%s%s, "
+ "ZFS pool version %s, ZFS filesystem version %s\n",
+ ZFS_META_VERSION, ZFS_DEBUG_STR,
+ SPA_VERSION_STRING, ZPL_VERSION_STRING);
return (0);
tsd_destroy(&zfs_fsyncer_key);
tsd_destroy(&rrw_tsd_key);
- printk(KERN_NOTICE "ZFS: Unloaded ZFS Filesystem v%s%s\n",
+ printk(KERN_NOTICE "ZFS: Unloaded module v%s%s\n",
ZFS_META_VERSION, ZFS_DEBUG_STR);
return (0);