freebsd-skq/sys/dev/hyperv/utilities
sephe cf8bc16b1e hyperv/vss: Add driver and tools for VSS
VSS stands for "Volume Shadow Copy Service".  Unlike virtual machine
snapshot, it only takes snapshot for the virtual disks, so both
filesystem and applications have to aware of it, and cooperate the
whole VSS process.

This driver exposes two device files to the userland:

    /dev/hv_fsvss_dev

    Normally userland programs should _not_ mess with this device file.
    It is currently used by the hv_vss_daemon(8), which freezes and
    thaws the filesystem.  NOTE: currently only UFS is supported, if
    the system mounts _any_ other filesystems, the hv_vss_daemon(8)
    will veto the VSS process.

    If hv_vss_daemon(8) was disabled, then this device file must be
    opened, and proper ioctls must be issued to keep the VSS working.

    /dev/hv_appvss_dev

    Userland application can opened this device file to receive the
    VSS freeze notification, hold the VSS for a while (mainly to flush
    application data to filesystem), release the VSS process, and
    receive the VSS thaw notification i.e. applications can run again.

    The VSS will still work, even if this device file is not opened.
    However, only filesystem consistency is promised, if this device
    file is not opened or is not operated properly.

hv_vss_daemon(8) is started by devd(8) by default.  It can be disabled
by editting /etc/devd/hyperv.conf.

Submitted by:	Hongjiang Zhang <honzhan microsoft com>
Reviewed by:	kib, mckusick
MFC after:	3 weeks
Sponsored by:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D8224
2016-11-15 02:36:12 +00:00
..
hv_heartbeat.c hyperv/ic: Rework framework/message version negotiation. 2016-10-24 05:36:19 +00:00
hv_kvp.c hyperv/kvp: Don't mix message status codes and function return values. 2016-11-02 07:18:27 +00:00
hv_kvp.h hyperv/kvp: Don't mix message status codes and function return values. 2016-11-02 07:18:27 +00:00
hv_shutdown.c hyperv/ic: Rework framework/message version negotiation. 2016-10-24 05:36:19 +00:00
hv_snapshot.c hyperv/vss: Add driver and tools for VSS 2016-11-15 02:36:12 +00:00
hv_snapshot.h hyperv/vss: Add driver and tools for VSS 2016-11-15 02:36:12 +00:00
hv_timesync.c hyperv/ic: Rework framework/message version negotiation. 2016-10-24 05:36:19 +00:00
hv_util.c hyperv/ic: Rework framework/message version negotiation. 2016-10-24 05:36:19 +00:00
hv_util.h hyperv/ic: Rework framework/message version negotiation. 2016-10-24 05:36:19 +00:00
hv_utilreg.h hyperv/kvp: Don't mix message status codes and function return values. 2016-11-02 07:18:27 +00:00
unicode.h Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft, 2014-09-13 02:15:31 +00:00
vmbus_icreg.h hyperv/ic: Rework framework/message version negotiation. 2016-10-24 05:36:19 +00:00