Skip to content

Commit

Permalink
qga: fix w32 breakage due to missing osdep.h includes
Browse files Browse the repository at this point in the history
requester.h relied on qemu/compiler.h definitions to
handle GCC_FMT_ATTR() stub, but this include was removed as part
of scripted clean-ups via 30456d5:

  all: Clean up includes

under the assumption that all C files would have included it via
qemu/osdep.h at that point. requester.cpp was likely missed
due to C++ files requiring manual/special handling as well as
VSS build options needing to be enabled to trigger build failures.

Fix this by including qemu/osdep.h. That in turn pulls in a
macro from qapi/error.h that conflicts with a struct field name
in requester.h, so fix that as well by renaming the field.

While we're at it, fix up provider.cpp/install.cpp to include
osdep.h as well.

Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
  • Loading branch information
mdroth committed Feb 25, 2016
1 parent 8021de1 commit e55eb80
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 9 deletions.
2 changes: 1 addition & 1 deletion qga/vss-win32.c
Expand Up @@ -150,7 +150,7 @@ void qga_vss_fsfreeze(int *nr_volume, Error **errp, bool freeze)
const char *func_name = freeze ? "requester_freeze" : "requester_thaw";
QGAVSSRequesterFunc func;
ErrorSet errset = {
.error_setg_win32 = error_setg_win32_internal,
.error_setg_win32_wrapper = error_setg_win32_internal,
.errp = errp,
};

Expand Down
3 changes: 1 addition & 2 deletions qga/vss-win32/install.cpp
Expand Up @@ -10,8 +10,7 @@
* See the COPYING file in the top-level directory.
*/

#include <stdio.h>
#include <string.h>
#include "qemu/osdep.h"

#include "vss-common.h"
#include "inc/win2003/vscoordint.h"
Expand Down
2 changes: 1 addition & 1 deletion qga/vss-win32/provider.cpp
Expand Up @@ -10,7 +10,7 @@
* See the COPYING file in the top-level directory.
*/

#include <stdio.h>
#include "qemu/osdep.h"
#include "vss-common.h"
#include "inc/win2003/vscoordint.h"
#include "inc/win2003/vsprov.h"
Expand Down
8 changes: 4 additions & 4 deletions qga/vss-win32/requester.cpp
Expand Up @@ -10,7 +10,7 @@
* See the COPYING file in the top-level directory.
*/

#include <stdio.h>
#include "qemu/osdep.h"
#include "vss-common.h"
#include "requester.h"
#include "assert.h"
Expand All @@ -23,9 +23,9 @@
/* Call QueryStatus every 10 ms while waiting for frozen event */
#define VSS_TIMEOUT_EVENT_MSEC 10

#define err_set(e, err, fmt, ...) \
((e)->error_setg_win32((e)->errp, __FILE__, __LINE__, __func__, \
err, fmt, ## __VA_ARGS__))
#define err_set(e, err, fmt, ...) \
((e)->error_setg_win32_wrapper((e)->errp, __FILE__, __LINE__, __func__, \
err, fmt, ## __VA_ARGS__))
/* Bad idea, works only when (e)->errp != NULL: */
#define err_is_set(e) ((e)->errp && *(e)->errp)
/* To lift this restriction, error_propagate(), like we do in QEMU code */
Expand Down
2 changes: 1 addition & 1 deletion qga/vss-win32/requester.h
Expand Up @@ -27,7 +27,7 @@ typedef void (*ErrorSetFunc)(struct Error **errp,
int win32_err, const char *fmt, ...)
GCC_FMT_ATTR(6, 7);
typedef struct ErrorSet {
ErrorSetFunc error_setg_win32;
ErrorSetFunc error_setg_win32_wrapper;
struct Error **errp; /* restriction: must not be null */
} ErrorSet;

Expand Down

0 comments on commit e55eb80

Please sign in to comment.