zfs_ioctl.c revision 432f72fd2958c0d1ecc680b0573d8f65a22de385
0N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0N/A#include "zfs_namecheck.h"
0N/A#include "zfs_prop.h"
0N/Atypedef struct zfs_ioc_vec {
int error;
return (EEXIST);
return (error);
int error;
int ret = 0;
return (ret);
int error;
return (error);
return (EINVAL);
return (error);
int error;
return (error);
return (error);
int error;
if (error == 0) {
return (error);
int error;
return (error);
return (error);
char *hist_buf;
int error;
return (EINVAL);
return (error);
return (error);
int error;
return (EINVAL);
return (error);
size++;
size)) != 0) {
return (error);
return (error);
int error;
if (error != 0)
return (error);
return (error);
int error;
if (error != 0)
return (error);
return (error);
int error;
return (error);
return (error);
int error;
return (error);
return (error);
int error;
return (error);
return (error);
int error;
return (error);
return (error);
int error;
if (error != 0)
return (error);
return (error);
int error;
if (error != 0) {
goto retry;
return (error);
return (error);
int error;
if (error != 0) {
goto retry;
return (error);
return (error);
int error;
if (error != 0) {
goto retry;
return (error);
return (ESRCH);
if (error == 0)
return (error);
int error;
const char *propname;
char *strval;
return (EINVAL);
if (error == 0)
switch (prop) {
case ZFS_PROP_ZONED:
return (EPERM);
case ZFS_PROP_QUOTA:
return (error);
int dslen;
setpoint))
return (EPERM);
return (EPERM);
return (EPERM);
switch (prop) {
case ZFS_PROP_QUOTA:
intval)) != 0)
return (error);
case ZFS_PROP_RESERVATION:
intval)) != 0)
return (error);
case ZFS_PROP_VOLSIZE:
intval)) != 0)
return (error);
case ZFS_PROP_VOLBLOCKSIZE:
intval)) != 0)
return (error);
return (EINVAL);
strval)) != 0)
return (error);
const char *unused;
case prop_type_number:
case prop_type_boolean:
return (EINVAL);
case prop_type_string:
return (EINVAL);
case prop_type_index:
return (EINVAL);
return (error);
return (EINVAL);
int error;
return (EINVAL);
return (error);
return (error);
static vfs_t *
return (vfs_found);
int error = 0;
switch (type) {
case DMU_OST_ZFS:
case DMU_OST_ZVOL:
return (EINVAL);
return (error);
return (EINVAL);
if (error) {
return (error);
return (EINVAL);
&volsize) != 0) {
return (EINVAL);
return (EINVAL);
if (error != 0)
volblocksize)) != 0 ||
volblocksize)) != 0) {
return (error);
&cbdata);
if (error == 0) {
return (error);
return (EINVAL);
char *cp;
if (snapname) {
if (vfsp) {
int err;
return (err);
return (err);
int err;
return (EINVAL);
if (err)
return (err);
if (err)
return (err);
return (EINVAL);
if (err)
return (err);
return (EBADF);
return (error);
int error;
if (error)
return (error);
char *cp;
if (cp)
if (error) {
return (error);
if (fromsnap)
return (EBADF);
if (fromsnap)
return (error);
if (error == 0)
return (error);
int error;
return (error);
int error;
return (error);
&count);
if (error == 0)
return (error);
int error;
return (error);
return (ENODEV);
int error;
return (error);
if (error == 0)
return (error);
char *cp;
if (cp)
return (EINVAL);
if (error == 0) {
if (error == 0) {
case pool_name:
case dataset_name:
case no_name:
if (error == 0)
if (error == 0)
return (error);
return (DDI_FAILURE);
return (DDI_FAILURE);
return (DDI_SUCCESS);
return (DDI_FAILURE);
return (DDI_FAILURE);
return (DDI_SUCCESS);
switch (infocmd) {
case DDI_INFO_DEVT2DEVINFO:
return (DDI_SUCCESS);
case DDI_INFO_DEVT2INSTANCE:
*result = (void *)0;
return (DDI_SUCCESS);
return (DDI_FAILURE);
* so most of the standard driver entry points are in zvol.c.
(void *)&zfs_modlfs,
(void *)&zfs_modldrv,
_init(void)
int error;
zfs_init();
zvol_init();
zvol_fini();
zfs_fini();
spa_fini();
return (error);
_fini(void)
int error;
return (EBUSY);
return (error);
zvol_fini();
zfs_fini();
spa_fini();
return (error);