On Fri, 22 Jul 2011 21:56:39 +0300 Blue Swirl <blauwir...@gmail.com> wrote:
> Fix build breakage on non-Linux hosts. > > Signed-off-by: Blue Swirl <blauwir...@gmail.com> Looks good to me. This will return a command not found error, maybe unsupported is better, but can be done later. > --- > 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 <glib.h> > -#include <mntent.h> > #include <sys/types.h> > #include <sys/ioctl.h> > +#ifdef __linux__ > +#include <mntent.h> > #include <linux/fs.h> > +#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); > }