freebsd-nq/sys
Sepherosa Ziehau 168fce73b5 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
..
amd64 Fix improper use of "its". 2016-11-08 23:59:41 +00:00
arm Add the cpsw, the NIC driver for ti/am335x, to GENERIC kernel. 2016-11-14 20:57:30 +00:00
arm64 Fix improper use of "its". 2016-11-08 23:59:41 +00:00
boot Make dpaa work with only slightly modified Linux device trees. 2016-11-12 20:45:03 +00:00
bsm Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
cam Fix improper use of "its". 2016-11-08 23:59:41 +00:00
cddl Remove the DTrace printt and typeref actions. 2016-11-12 19:26:12 +00:00
compat Tidy up ia32_sysvec sv_flags setting 2016-10-20 20:29:54 +00:00
conf hyperv/vss: Add driver and tools for VSS 2016-11-15 02:36:12 +00:00
contrib Reduce dmesg verbosity. 2016-11-15 00:58:31 +00:00
crypto Fix C++ includability of crypto headers with static array sizes 2016-10-18 23:20:49 +00:00
ddb Determine the operand/address size of %cs in a new function 2016-09-25 16:30:29 +00:00
dev hyperv/vss: Add driver and tools for VSS 2016-11-15 02:36:12 +00:00
fs Remove spurious space. 2016-11-13 12:06:25 +00:00
gdb
geom Use providergone method to cover race between destroy and g_access(). 2016-11-13 03:56:26 +00:00
gnu Revert and redo r306083. 2016-09-22 15:17:36 +00:00
i386 Fix improper use of "its". 2016-11-08 23:59:41 +00:00
isa
kern [mips] enable relbuf on mips for now to work around page aliasing in mips hardware. 2016-11-15 01:41:45 +00:00
kgssapi
libkern
mips [MIPS] Print Config7 on boot for several MIPS architectures 2016-11-14 21:38:36 +00:00
modules hyperv/vss: Add driver and tools for VSS 2016-11-15 02:36:12 +00:00
net Don't read if_counters with if_addr_lock held 2016-11-12 19:03:23 +00:00
net80211 [net80211] announce 11n capabilities in probe requests in IBSS mode. 2016-11-15 01:47:37 +00:00
netgraph Fix improper use of "its". 2016-11-08 23:59:41 +00:00
netinet Initialize ip6 pointer before use. 2016-11-06 02:33:04 +00:00
netinet6 Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 2016-10-21 10:32:57 +00:00
netipsec Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead. 2016-09-15 07:41:48 +00:00
netnatm
netpfil Remove the mbuf tag after use (for reinjected packets). 2016-11-03 00:26:58 +00:00
netsmb
nfs Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
nfsclient
nfsserver
nlm When sleeping waiting for either local or remote advisory lock, 2016-06-26 20:08:42 +00:00
ofed Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
opencrypto Add support for the fpu_kern(9) KPI on arm64. It hooks into the existing 2016-10-20 09:22:10 +00:00
pc98 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
powerpc Make dpaa work with only slightly modified Linux device trees. 2016-11-12 20:45:03 +00:00
riscv Check if L2 entry exists for the given VA before loading L3 entry. 2016-11-14 18:30:03 +00:00
rpc Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
security Fix improper use of "its". 2016-11-08 23:59:41 +00:00
sparc64 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
sys Move text dump version as it's not an architecture version. 2016-11-14 12:56:18 +00:00
teken
tests
tools Consider CROSS_BINUTILS_PREFIX environment variable so we use correct 2016-08-10 13:49:17 +00:00
ufs Provide simple mutual exclusion between mount point update and unmount. 2016-11-13 21:49:51 +00:00
vm Introduce a new page queue, PQ_LAUNDRY, for storing unreferenced, dirty 2016-11-09 18:48:37 +00:00
x86 Fix improper use of "its". 2016-11-08 23:59:41 +00:00
xdr
xen xen: add a grant-table user-space device 2016-10-31 13:12:58 +00:00
Makefile