freebsd-skq/sys/cddl
freqlabs 5ea1792848 MFOpenZFS: ZVOLs should not be allowed to have children
zfs create, receive and rename can bypass this hierarchy rule. Update
both userland and kernel module to prevent this issue and use pyzfs
unit tests to exercise the ioctls directly.

Note: this commit slightly changes zfs_ioc_create() ABI. This allow to
differentiate a generic error (EINVAL) from the specific case where we
tried to create a dataset below a ZVOL (ZFS_ERR_WRONG_PARENT).

Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Matt Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tom Caputi <tcaputi@datto.com>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>

Approved by:	mav (mentor)
MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
openzfs/zfs@d8d418ff0c
2020-03-25 15:56:18 +00:00
..
boot/zfs loader: replace zfs_alloc/zfs_free with malloc/free 2020-02-26 18:12:12 +00:00
compat/opensolaris TODO DONE: Use sx_xholder in SPL rwlock.h 2020-03-14 00:16:15 +00:00
contrib/opensolaris MFOpenZFS: ZVOLs should not be allowed to have children 2020-03-25 15:56:18 +00:00
dev Clear systrace_args_func when systrace probes are disabled. 2020-02-28 17:04:36 +00:00