 ec0f694c11
			
		
	
	
		ec0f694c11
		
	
	
	
	
		
			
			To use the online disk snapshot for online-backup, application-level consistency of the snapshot image is required. However, currently the guest agent can provide only filesystem-level consistency, and the snapshot may contain dirty data, for example, incomplete transactions. This patch provides the opportunity to quiesce applications before snapshot is taken. If --fsfreeze-hook option is specified, the hook is executed with "freeze" argument before the filesystem is frozen by fsfreeze-freeze command. As for fsfreeze-thaw command, the hook is executed with "thaw" argument after the filesystem is thawed. This patch depends on patchset to improve error reporting by Luiz Capitulino: http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03016.html Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> *clarified usage in help output Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * QEMU Guest Agent core declarations
 | |
|  *
 | |
|  * Copyright IBM Corp. 2011
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Adam Litke        <aglitke@linux.vnet.ibm.com>
 | |
|  *  Michael Roth      <mdroth@linux.vnet.ibm.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| #include "qapi/qmp/dispatch.h"
 | |
| #include "qemu-common.h"
 | |
| 
 | |
| #define QGA_READ_COUNT_DEFAULT 4096
 | |
| 
 | |
| typedef struct GAState GAState;
 | |
| typedef struct GACommandState GACommandState;
 | |
| extern GAState *ga_state;
 | |
| 
 | |
| void ga_command_state_init(GAState *s, GACommandState *cs);
 | |
| void ga_command_state_add(GACommandState *cs,
 | |
|                           void (*init)(void),
 | |
|                           void (*cleanup)(void));
 | |
| void ga_command_state_init_all(GACommandState *cs);
 | |
| void ga_command_state_cleanup_all(GACommandState *cs);
 | |
| GACommandState *ga_command_state_new(void);
 | |
| bool ga_logging_enabled(GAState *s);
 | |
| void ga_disable_logging(GAState *s);
 | |
| void ga_enable_logging(GAState *s);
 | |
| void slog(const gchar *fmt, ...);
 | |
| void ga_set_response_delimited(GAState *s);
 | |
| bool ga_is_frozen(GAState *s);
 | |
| void ga_set_frozen(GAState *s);
 | |
| void ga_unset_frozen(GAState *s);
 | |
| const char *ga_fsfreeze_hook(GAState *s);
 | |
| 
 | |
| #ifndef _WIN32
 | |
| void reopen_fd_to_null(int fd);
 | |
| #endif
 |