bhyve checkpoint with libzfs

From: Ionuț_Mihalache <ionut.mihalache1506_at_gmail.com>
Date: Wed, 22 Sep 2021 15:21:57 UTC
Hi, everyone,

In the last year, I worked on bringing improvements for the
snapshot/checkpoint functionality for bhyve.

Because bhyve doesn't yet have a checkpoint mechanism, the last months of
my work focused on finding a way to use ZFS functionalities available
through libzfs. I managed to implement a daemon that, together with bhyve,
and based on ZFS snapshots and ZFS clones, provides a simple checkpoint
mechanism for the basic checkpoint operations existent in other
hypervisors: CREATE, ROLLBACK and DELETE.

The link from [1] presents a tutorial on how to setup everything for using
the bhyve checkpoint mechanism based on ZFS. Moreover, you can find at [1]
a demo (video) of the ZFS checkpoint functionality.

We would like to get your opinion on the proposed checkpoint mechanism and
gather as much feedback as possible. Based on the feedback the project can
continue with bringing more functionalities and improving the existing ones.

Feel free to share your thoughts on the idea.

[1]
https://github.com/FreeBSD-UPB/freebsd-src/wiki/Checkpoint-for-bhyve-using-zfs-snapshots-and-clones

Thank you.