freebsd-dev/include
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
..
arpa include: minor spelling fixes. 2016-04-30 14:43:42 +00:00
gssapi Add META_MODE support. 2015-06-13 19:20:56 +00:00
protocols Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc xdr: Fix xdr_rpc* defines. 2016-03-04 22:03:38 +00:00
rpcsvc include: minor spelling fixes. 2016-04-30 14:43:42 +00:00
xlocale LC_*_MASK bit shifting order was partially broken from the initial commit 2016-08-23 20:33:56 +00:00
_ctype.h Commit log from Dragonfly: 2015-10-13 20:43:49 +00:00
a.out.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
ar.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
assert.h Don't define static_assert for C++. 2011-12-29 14:41:17 +00:00
bitstring.h Improve performance and functionality of the bitstring(3) api 2016-05-04 22:34:11 +00:00
complex.h I'm happy to finally commit stephen@'s implementations of cacos, 2013-05-30 04:49:26 +00:00
cpio.h
ctype.h Commit log from Dragonfly: 2015-10-13 20:43:49 +00:00
db.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
dirent.h Add missing declaration of ino_t. 2016-05-30 07:50:57 +00:00
dlfcn.h Implement fdlopen(3), an rtld interface to load shared object by file 2012-01-07 10:33:01 +00:00
elf-hints.h
elf.h Remove some OpenSolaris compatibility stuff now that we're doing it a 2007-11-28 22:09:12 +00:00
err.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fmtmsg.h Fix a small typo. Fireware -> firmware. 2012-06-05 19:42:57 +00:00
fnmatch.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fstab.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fts.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
ftw.h
getopt.h Remove NetBSD Foundation clauses 3 & 4. They eliminated those clauses 2010-02-16 19:28:10 +00:00
glob.h - Add restrict keyword to glob(3) 2011-12-20 22:56:13 +00:00
grp.h Fix up setgrent(3) to have a POSIX-compliant prototype. 2016-07-31 08:05:15 +00:00
gssapi.h
hesiod.h We don't use these files. 2014-08-09 20:03:40 +00:00
iconv.h Remove the const qualifier from iconv(3) to comply with POSIX: 2015-04-15 09:09:20 +00:00
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
ifaddrs.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
inttypes.h Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4 2014-04-01 14:46:11 +00:00
iso646.h Avoid accidental conflicts with C++ operator keywords. 2011-09-27 16:33:17 +00:00
kenv.h
langinfo.h langinfo.h: Hide YESSTR and NOSTR in strict POSIX mode. 2014-04-19 12:38:01 +00:00
libgen.h Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
limits.h Detect integer overflow and limit the number of positional 2016-10-31 18:38:58 +00:00
link.h
locale.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00
Makefile hyperv/vss: Add driver and tools for VSS 2016-11-15 02:36:12 +00:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
malloc_np.h Update jemalloc to 4.1.0. 2016-02-29 19:10:32 +00:00
malloc.h
memory.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
mk-osreldate.sh Stop building vers.c in include/ and only build the needed osreldate.h. 2015-11-25 19:10:59 +00:00
monetary.h Make strfmon_l() work without requiring the use of <xlocale.h>. 2016-05-31 12:29:21 +00:00
mpool.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
mqueue.h Export the mq_getfd_np() symbol from librt.so, which allows to get 2016-10-02 17:02:59 +00:00
ndbm.h Fix prototype of dbm_open(). 2016-05-31 18:32:57 +00:00
netconfig.h
netdb.h Add NI_NUMERICSCOPE. 2016-07-28 10:05:41 +00:00
nl_types.h Remove NetBSD Foundation clauses 3 & 4. They eliminated those clauses 2010-02-16 19:28:10 +00:00
nlist.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
nss.h
nsswitch.h Add capability to use a db version of services. It is enabled by 2010-04-04 08:31:03 +00:00
paths.h Implement suggestion by jhb@ to have _PATH_FIRMWARE instead of hard 2016-03-23 04:18:57 +00:00
printf.h The register_printf_render_std() function expects regular string. 2012-07-04 17:35:07 +00:00
proc_service.h
pthread_np.h Introduce a non-portable function pthread_getthreadid_np(3) to retrieve 2011-02-07 21:26:46 +00:00
pthread.h Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
pwd.h Replace our version of the pwcache(3) API with NetBSD's implementation. 2012-10-19 12:44:22 +00:00
ranlib.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
readpassphrase.h Sync with OpenBSD, primarily better signal and terminal handling. 2010-11-13 10:38:06 +00:00
regex.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
res_update.h Update our stub resolver to final version of libbind. 2014-08-12 12:36:06 +00:00
resolv.h resolver: preserve binary compatibility; reduce header pollution 2015-12-14 17:21:06 +00:00
runetype.h After r232498, programs built with -ansi or -std=c89 including <ctype.h> 2012-03-06 20:15:23 +00:00
search.h Improve typing of POSIX search tree functions. 2016-10-13 18:25:40 +00:00
semaphore.h Ensure #include <semaphore.h> is sufficient for using SEM_VALUE_MAX. 2015-01-31 16:39:26 +00:00
setjmp.h include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLE 2014-05-11 13:48:21 +00:00
signal.h Fix the signature of the psignal() function. 2016-05-30 13:51:27 +00:00
spawn.h Remove __restrict keywords from array arguments to make GCC's -std=c99 work. 2008-06-19 07:30:32 +00:00
stab.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
stdalign.h Add <stdalign.h> and <stdnoreturn.h>. 2011-12-25 20:51:40 +00:00
stdbool.h Remove unneeded guard. 2011-12-25 20:15:41 +00:00
stddef.h Define max_align_t for C11. 2016-10-21 23:50:02 +00:00
stdio.h Add the __printflike attribute to the declaration of vdprintf(3) 2016-10-01 23:08:26 +00:00
stdlib.h Remove setkey(), encrypt(), des_setkey() and des_cipher(). 2016-10-03 18:20:58 +00:00
stdnoreturn.h Simply disallow <stdnoreturn.h> to be used in combination with C++. 2012-01-03 23:05:23 +00:00
string.h Add timingsafe_bcmp and timingsafe_memcmp. 2016-08-14 23:38:50 +00:00
stringlist.h Remove clause 3 and 4 from the license 2015-05-21 08:38:25 +00:00
strings.h Add explicit_bzero(3) and its kernel counterpart. 2014-10-07 04:54:11 +00:00
sysexits.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
tar.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
termios.h include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLE 2014-05-11 13:48:21 +00:00
tgmath.h Roll back r271012 even more aggressively. 2014-09-05 05:36:32 +00:00
time.h Export the mq_getfd_np() symbol from librt.so, which allows to get 2016-10-02 17:02:59 +00:00
timeconv.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
timers.h
ttyent.h Add a new flag to /etc/ttys: onifconsole. This is equivalent to "on" if the 2014-01-20 18:15:06 +00:00
uchar.h Fix <uchar.h> in for C++11. 2013-05-25 16:58:12 +00:00
ulimit.h
unistd.h Remove setkey(), encrypt(), des_setkey() and des_cipher(). 2016-10-03 18:20:58 +00:00
unwind.h Also the stop function should accept 64-bit exception class. 2010-09-30 03:16:35 +00:00
utime.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
utmpx.h Implement <utmpx.h>. 2010-01-13 17:29:55 +00:00
uuid.h Add missing prototypes for uuid_enc,dec_le,be() functions. 2008-09-15 23:47:19 +00:00
varargs.h
wchar.h Add missing va_list to <wchar.h>. 2016-05-30 16:26:34 +00:00
wctype.h Commit log from Dragonfly: 2015-10-13 20:43:49 +00:00
wordexp.h
xlocale.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00