zfs/lib/libzfs
Ryan Moeller 1fdd768d7f libzfs: Fail making a dataset handle gracefully
When a dataset is in the process of being received it gets marked as
inconsistent and should not be used.  We should check for this when
opening a dataset handle in libzfs and return with an appropriate error
set, rather than hitting an abort because of the incomplete data.

zfs_open() passes errno to zfs_standard_error() after observing
make_dataset_handle() fail, which ends up aborting if errno is 0.
Set errno before returning where we know it has not been set already.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ryan Moeller <freqlabs@FreeBSD.org>
Closes #13077
2022-06-06 16:57:51 -07:00
..
os linux: libzfs: mount: fix uninitialised flags 2022-02-03 15:28:01 -08:00
.gitignore Clean up lib dependencies 2020-07-10 14:26:00 -07:00
Makefile.am libzfs: add keylocation=https://, backed by fetch(3) or libcurl 2022-02-16 17:58:37 -08:00
THIRDPARTYLICENSE.openssl Fix typos in lib/ 2019-09-02 17:53:27 -07:00
THIRDPARTYLICENSE.openssl.descrip Encryption patch follow-up 2017-10-11 16:54:48 -04:00
libzfs.abi libzfs: add keylocation=https://, backed by fetch(3) or libcurl 2022-02-16 17:58:37 -08:00
libzfs.pc.in Spruce up pkg-config files for libzfs/libzfs_core 2020-09-04 11:11:18 -07:00
libzfs.suppr Library ABI tracking with abigail 2020-11-17 09:18:52 -08:00
libzfs_changelist.c Add 'zfs rename -u' to rename without remounting 2020-09-01 16:14:16 -07:00
libzfs_config.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_crypto.c get_key_material_https: removed bogus free() call 2022-03-17 10:22:13 -07:00
libzfs_dataset.c libzfs: Fail making a dataset handle gracefully 2022-06-06 16:57:51 -07:00
libzfs_diff.c libzfs: diff: stream_bytes: use fputc, %hho formats chars 2022-04-01 09:58:45 -07:00
libzfs_import.c libzfs: import: zpool_clear_label: actually fail if clearing l2arc header fails 2022-04-15 14:16:59 -07:00
libzfs_iter.c lib/: set O_CLOEXEC on all fds 2021-04-14 13:23:07 -07:00
libzfs_mount.c libzfs: mount: don't leak mnt_param_t if mnt_func fails 2022-06-06 16:57:46 -07:00
libzfs_pool.c Use fallthrough macro 2021-11-02 09:50:30 -07:00
libzfs_sendrecv.c Reject zfs send -RI with nonexistent fromsnap 2022-06-06 16:57:41 -07:00
libzfs_status.c Improvements to the 'compatibility' property 2021-04-14 13:23:08 -07:00
libzfs_util.c libzfs: add keylocation=https://, backed by fetch(3) or libcurl 2022-02-16 17:58:37 -08:00