From 17d31722bd6cd92e414028f44e9b49238fe83bd4 Mon Sep 17 00:00:00 2001 Message-Id: From: Blue Swirl Date: Fri, 22 Jul 2011 18:53:46 +0000 Subject: [PATCH] qga: fsfreeze is only supported on Linux Fix build breakage on non-Linux hosts. Signed-off-by: Blue Swirl --- qga/guest-agent-commands.c | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/qga/guest-agent-commands.c b/qga/guest-agent-commands.c index 8c0d67e..918aaa2 100644 --- a/qga/guest-agent-commands.c +++ b/qga/guest-agent-commands.c @@ -11,10 +11,12 @@ */ #include -#include #include #include +#ifdef __linux__ +#include #include +#endif #include "qga/guest-agent-core.h" #include "qga-qmp-commands.h" #include "qerror.h" @@ -22,6 +24,7 @@ static GAState *ga_state; +#ifdef __linux__ static void disable_logging(void) { ga_disable_logging(ga_state); @@ -31,6 +34,7 @@ static void enable_logging(void) { ga_enable_logging(ga_state); } +#endif /* Note: in some situations, like with the fsfreeze, logging may be * temporarilly disabled. if it is necessary that a command be able @@ -323,6 +327,7 @@ static void guest_file_init(void) QTAILQ_INIT(&guest_file_state.filehandles); } +#ifdef __linux__ typedef struct GuestFsfreezeMount { char *dirname; char *devtype; @@ -508,11 +513,29 @@ static void guest_fsfreeze_cleanup(void) } } } +#else +GuestFsfreezeStatus qmp_guest_fsfreeze_status(Error **err) +{ + return GUEST_FSFREEZE_STATUS_ERROR; +} + +int64_t qmp_guest_fsfreeze_freeze(Error **err) +{ + return -1; +} + +int64_t qmp_guest_fsfreeze_thaw(Error **err) +{ + return 0; +} +#endif /* register init/cleanup routines for stateful command groups */ void ga_command_state_init(GAState *s, GACommandState *cs) { ga_state = s; +#ifdef __linux__ ga_command_state_add(cs, guest_fsfreeze_init, guest_fsfreeze_cleanup); +#endif ga_command_state_add(cs, guest_file_init, NULL); } -- 1.7.2.5