]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC 308664,308742,308743
authorsephe <sephe@FreeBSD.org>
Thu, 5 Jan 2017 03:20:00 +0000 (03:20 +0000)
committersephe <sephe@FreeBSD.org>
Thu, 5 Jan 2017 03:20:00 +0000 (03:20 +0000)
commit3b0ec971272f0d0cff6456302098876f14e313ac
tree8303a1576c629bb2073017c0299360cd37861a53
parent940f4f6a0f99fc1b68f891f638297161f27de9f7
MFC 308664,308742,308743

308664
    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
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D8224

308742
    hyperv/vss: Nuke unused variables.

    Submitted by:   markj
    Reported by:    markj
    Sponsored by:   Microsoft

308743
    hyperv/vss: Install the userland daemon to /usr/sbin instead of /

    Submitted by:   markj
    Reported by:    markj
    Sponsored by:   Microsoft
18 files changed:
contrib/hyperv/tools/hv_vss_daemon.8 [new file with mode: 0644]
contrib/hyperv/tools/hv_vss_daemon.c [new file with mode: 0644]
etc/devd/hyperv.conf
etc/mtree/BSD.include.dist
include/Makefile
share/man/man4/Makefile
share/man/man4/hv_vss.4 [new file with mode: 0644]
sys/conf/files.amd64
sys/conf/files.i386
sys/dev/hyperv/utilities/hv_snapshot.c [new file with mode: 0644]
sys/dev/hyperv/utilities/hv_snapshot.h [new file with mode: 0644]
sys/modules/hyperv/utilities/Makefile
usr.sbin/hyperv/Makefile
usr.sbin/hyperv/tools/Makefile.inc [new file with mode: 0644]
usr.sbin/hyperv/tools/kvp/Makefile [moved from usr.sbin/hyperv/tools/Makefile with 52% similarity]
usr.sbin/hyperv/tools/kvp/Makefile.depend [moved from usr.sbin/hyperv/tools/Makefile.depend with 100% similarity]
usr.sbin/hyperv/tools/vss/Makefile [new file with mode: 0644]
usr.sbin/hyperv/tools/vss/Makefile.depend [new file with mode: 0644]