freebsd-dev/cddl
Alan Somers 02fa3d2963 zfs: fix EIO accessing dataset after resuming interrupted receive
ZFS unmounts a dataset while receiving into it and remounts it afterwards.
But if ZFS is resuming an incomplete receive, it screws up and ends up with
a dataset that is mounted, but returns EIO for every access. This commit
fixes that condition.

While the vulnerable code also exists in OpenZFS, the problem is not
reproducible there. Apparently OpenZFS doesn't unmount the destination
dataset during receive, like FreeBSD does.

PR:		248606
Reviewed by:	mmacy
MFC after:	2 weeks
Sponsored by:	Axcient
Differential Revision:	https://reviews.freebsd.org/D26034
2020-08-20 01:31:21 +00:00
..
compat/opensolaris Honor all options of "zfs mount -o" 2017-09-05 19:28:35 +00:00
contrib/opensolaris zfs: fix EIO accessing dataset after resuming interrupted receive 2020-08-20 01:31:21 +00:00
lib - Cleanups related to sparc64 removal. 2020-07-28 10:58:37 +00:00
sbin pkgbase: Force zfs(8) and zpool(8) to be in the runtime package 2019-09-05 14:07:49 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
usr.bin fix up r354804, link zstreamdump with libzfs 2019-11-18 10:34:27 +00:00
usr.sbin dtrace tests: Support globbing for excludes 2020-04-29 21:12:32 +00:00
Makefile Convert traditional ${MK_TESTS} conditional idiom for including test 2017-08-02 08:35:51 +00:00
Makefile.inc Make DTrace stuff compile with C99 standard. 2014-08-22 20:04:51 +00:00