 96dd86fa58
			
		
	
	
	96dd86fa58
	
	
	
		
			
			This driver supports host initiated backup of the guest. On Windows guests, the host can generate application consistent backups using the Windows VSS framework. On Linux, we ensure that the backup will be file system consistent. This driver allows the host to initiate a "Freeze" operation on all the mounted file systems in the guest. Once the mounted file systems in the guest are frozen, the host snapshots the guest's file systems. Once this is done, the guest's file systems are "thawed". This driver has a user-level component (daemon) that invokes the appropriate operation on all the mounted file systems in response to the requests from the host. The duration for which the guest is frozen is very short - a few seconds. During this interval, the diff disk is comitted. In this version of the patch I have addressed the feedback from Olaf Herring. Also, some of the connector related issues have been fixed. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			2.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			2.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 	connector.h
 | |
|  * 
 | |
|  * 2004-2005 Copyright (c) Evgeniy Polyakov <zbr@ioremap.net>
 | |
|  * All rights reserved.
 | |
|  * 
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation; either version 2 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with this program; if not, write to the Free Software
 | |
|  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | |
|  */
 | |
| 
 | |
| #ifndef _UAPI__CONNECTOR_H
 | |
| #define _UAPI__CONNECTOR_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| 
 | |
| /*
 | |
|  * Process Events connector unique ids -- used for message routing
 | |
|  */
 | |
| #define CN_IDX_PROC			0x1
 | |
| #define CN_VAL_PROC			0x1
 | |
| #define CN_IDX_CIFS			0x2
 | |
| #define CN_VAL_CIFS                     0x1
 | |
| #define CN_W1_IDX			0x3	/* w1 communication */
 | |
| #define CN_W1_VAL			0x1
 | |
| #define CN_IDX_V86D			0x4
 | |
| #define CN_VAL_V86D_UVESAFB		0x1
 | |
| #define CN_IDX_BB			0x5	/* BlackBoard, from the TSP GPL sampling framework */
 | |
| #define CN_DST_IDX			0x6
 | |
| #define CN_DST_VAL			0x1
 | |
| #define CN_IDX_DM			0x7	/* Device Mapper */
 | |
| #define CN_VAL_DM_USERSPACE_LOG		0x1
 | |
| #define CN_IDX_DRBD			0x8
 | |
| #define CN_VAL_DRBD			0x1
 | |
| #define CN_KVP_IDX			0x9	/* HyperV KVP */
 | |
| #define CN_KVP_VAL			0x1	/* queries from the kernel */
 | |
| #define CN_VSS_IDX			0xA     /* HyperV VSS */
 | |
| #define CN_VSS_VAL			0x1     /* queries from the kernel */
 | |
| 
 | |
| 
 | |
| #define CN_NETLINK_USERS		11	/* Highest index + 1 */
 | |
| 
 | |
| /*
 | |
|  * Maximum connector's message size.
 | |
|  */
 | |
| #define CONNECTOR_MAX_MSG_SIZE		16384
 | |
| 
 | |
| /*
 | |
|  * idx and val are unique identifiers which 
 | |
|  * are used for message routing and 
 | |
|  * must be registered in connector.h for in-kernel usage.
 | |
|  */
 | |
| 
 | |
| struct cb_id {
 | |
| 	__u32 idx;
 | |
| 	__u32 val;
 | |
| };
 | |
| 
 | |
| struct cn_msg {
 | |
| 	struct cb_id id;
 | |
| 
 | |
| 	__u32 seq;
 | |
| 	__u32 ack;
 | |
| 
 | |
| 	__u16 len;		/* Length of the following data */
 | |
| 	__u16 flags;
 | |
| 	__u8 data[0];
 | |
| };
 | |
| 
 | |
| #endif /* _UAPI__CONNECTOR_H */
 |