zfs/lib/libzfs
Mariusz Zaborski a57d3d45d6
Add option for forcible unmounting dataset while receiving snapshot.
Currently when the dataset is in use we can't receive snapshots.

    zfs send test/1@asd | zfs recv -FM test/2
    cannot unmount '/test/2': Device busy

This commits add option 'M' which attempts to forcibly unmount the
dataset.  Thanks to this we can enforce receiving snapshots in a
single step.

Note that this functionality is not supported on Linux because the
VFS will prevent active mounted filesystems from being unmounted,
even with the force option.  This is the intended VFS behavior.

Test cases were added to verify the expected behavior based on
the platform.

Discussed-with: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Allan Jude <allanjude@freebsd.org>
External-issue: https://reviews.freebsd.org/D22306
Closes #9904
2020-03-17 10:08:32 -07:00
..
os/linux Move zfs_version_kernel to platform code 2020-02-12 13:00:19 -08:00
.gitignore Add a pkgconfig file 2014-08-28 07:59:43 -07:00
Makefile.am OpenZFS restructuring - libzfs 2019-10-03 10:33:16 -07: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.pc.in Change http://zfsonlinux.org links to https://zfsonlinux.org 2020-01-13 16:43:59 -08:00
libzfs_changelist.c zfs_handle used after being closed/freed in change_one callback 2019-08-28 15:02:58 -07:00
libzfs_config.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_core.pc.in Change http://zfsonlinux.org links to https://zfsonlinux.org 2020-01-13 16:43:59 -08:00
libzfs_crypto.c Fix typos in lib/ 2019-09-02 17:53:27 -07:00
libzfs_dataset.c Disable get_numeric_property for xattr on FreeBSD 2020-01-21 15:06:10 -08:00
libzfs_diff.c Don't open zfs control device exclusively 2020-02-28 14:54:14 -08:00
libzfs_import.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_iter.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_mount.c Change default to overlay=on 2020-03-06 09:28:19 -08:00
libzfs_pool.c Add trim support to zpool wait 2020-03-04 15:07:11 -08:00
libzfs_sendrecv.c Add option for forcible unmounting dataset while receiving snapshot. 2020-03-17 10:08:32 -07:00
libzfs_status.c Add missing MMP status code to libzfs_status 2019-01-03 12:15:46 -08:00
libzfs_util.c libzfs: Fix bounds checks for float parsing 2020-03-16 11:56:29 -07:00