
On 11/03/2016 11:09 PM, Chen Hanxiao wrote:
From: Chen Hanxiao <chenhanxiao@gmail.com>
Introduce macro virCheckControllerGoto. Jumps to a label if unsupported controller type were passed to it.
Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> --- src/internal.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/src/internal.h b/src/internal.h index d8cc5ad..a34f43e 100644 --- a/src/internal.h +++ b/src/internal.h @@ -362,6 +362,25 @@ } \ } while (0)
+/** + * virCheckControllerGoto: + * @Cgp: virCgroupPtr pointer + * @CgpCtr: cgroup controller type enum + * @label: label to jump to on error + * + * Returns nothing. Jumps to a label if unsupported controller type were + * passed to it. + */ +# define virCheckControllerGoto(Cgp, CgpCtr, label) \ + do { \ + if (!virCgroupHasController(Cgp, CgpCtr)) { \ + virReportError(VIR_ERR_OPERATION_INVALID, \ + _("cgroup %s controller is not mounted"), \ ^ Extra space
s/%s/'%s'/ ACK (I'll adjust before pushing) John
+ virCgroupControllerTypeToString(CgpCtr)); \ + goto label; \ + } \ + } while (0) + /* Macros to help dealing with mutually exclusive flags. */
/**