Date: Thu, 17 Nov 2016 09:35:08 +0800 From: Sepherosa Ziehau <sephe@freebsd.org> To: Mark Johnston <markj@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r308664 - in head: contrib/hyperv/tools etc/devd etc/mtree include share/man/man4 sys/conf sys/dev/hyperv/utilities sys/modules/hyperv/utilities usr.sbin/hyperv usr.sbin/hyperv/tools us... Message-ID: <CAMOc5cynbqkK%2BdDefi7XynYWBTJoAnsjRKzup2-7ZYBXa7ux1A@mail.gmail.com> In-Reply-To: <20161116221440.GA83880@wkstn-mjohnston.west.isilon.com> References: <201611150236.uAF2aCV8015106@repo.freebsd.org> <20161116221440.GA83880@wkstn-mjohnston.west.isilon.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Nov 17, 2016 at 6:14 AM, Mark Johnston <markj@freebsd.org> wrote: > On Tue, Nov 15, 2016 at 02:36:12AM +0000, Sepherosa Ziehau wrote: >> Author: sephe >> Date: Tue Nov 15 02:36:12 2016 >> New Revision: 308664 >> URL: https://svnweb.freebsd.org/changeset/base/308664 >> >> Log: >> 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 >> >> Added: >> head/contrib/hyperv/tools/hv_vss_daemon.8 >> head/contrib/hyperv/tools/hv_vss_daemon.c >> head/share/man/man4/hv_vss.4 (contents, props changed) >> head/sys/dev/hyperv/utilities/hv_snapshot.c (contents, props changed) >> head/sys/dev/hyperv/utilities/hv_snapshot.h (contents, props changed) >> head/usr.sbin/hyperv/tools/kvp/ >> head/usr.sbin/hyperv/tools/kvp/Makefile >> - copied, changed from r308663, head/usr.sbin/hyperv/tools/Makefile >> head/usr.sbin/hyperv/tools/kvp/Makefile.depend >> - copied unchanged from r308663, head/usr.sbin/hyperv/tools/Makefile.depend >> head/usr.sbin/hyperv/tools/vss/ >> head/usr.sbin/hyperv/tools/vss/Makefile (contents, props changed) >> head/usr.sbin/hyperv/tools/vss/Makefile.depend (contents, props changed) >> Deleted: >> head/usr.sbin/hyperv/tools/Makefile >> head/usr.sbin/hyperv/tools/Makefile.depend >> Modified: >> head/etc/devd/hyperv.conf >> head/etc/mtree/BSD.include.dist >> head/include/Makefile >> head/share/man/man4/Makefile >> head/sys/conf/files.amd64 >> head/sys/conf/files.i386 >> head/sys/modules/hyperv/utilities/Makefile >> head/usr.sbin/hyperv/Makefile > > This appears to install hv_kvp_daemon and hv_vss_daemon to / instead of > /usr/sbin, and breaks the -DNO_ROOT build. I think a Makefile.inc is > needed in usr.sbin/hyperv/tools in order to preserve BINDIR from > usr.sbin/Makefile.inc. I fixed the problem in my tree with the diff > below, but am not sure if this is the right way to do it. For some > reason, doing this resulted in unused var warnings compiling > hv_vss_daemon.c. > > diff --git a/contrib/hyperv/tools/hv_vss_daemon.c b/contrib/hyperv/tools/hv_vss_daemon.c > index 8b58bc9..a1ba98d 100644 > --- a/contrib/hyperv/tools/hv_vss_daemon.c > +++ b/contrib/hyperv/tools/hv_vss_daemon.c > @@ -158,10 +158,9 @@ main(int argc, char* argv[]) > > struct pollfd hv_vss_poll_fd[1]; > uint32_t op; > - int ch, r, len, error; > + int ch, r, error; > int hv_vss_dev_fd; > > - int freeze_thaw = UNDEF_FREEZE_THAW; > while ((ch = getopt(argc, argv, "dnh")) != -1) { > switch (ch) { > case 'n': > diff --git a/usr.sbin/hyperv/Makefile.inc b/usr.sbin/hyperv/tools/Makefile.inc > similarity index 60% > rename from usr.sbin/hyperv/Makefile.inc > rename to usr.sbin/hyperv/tools/Makefile.inc > index edb0129..7e09f32 100644 > --- a/usr.sbin/hyperv/Makefile.inc > +++ b/usr.sbin/hyperv/tools/Makefile.inc > @@ -1,4 +1,4 @@ > # $FreeBSD$ > > CFLAGS.gcc+= -Wno-uninitialized > -.include "../Makefile.inc" > +.include "../../Makefile.inc" Thank you for the patch! I will handle it today! -- Tomorrow Will Never Die
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMOc5cynbqkK%2BdDefi7XynYWBTJoAnsjRKzup2-7ZYBXa7ux1A>