On Thu, 2018-08-23 at 17:15 +0800, Yi Min Zhao wrote:
在 2018/8/23 下午4:12, Andrea Bolognani 写道:
> Exactly. You can either just add zpci_uid and zpci_fid to the
> virPCIDeviceAddress struct, or have
>
> struct _virZPCIDeviceAddress {
> unsigned int uid;
> unsigned int fid;
> };
>
> struct _virPCIDeviceAddress {
> unsigned int domain;
> unsigned int bus;
> unsigned int slot;
> unsigned int function;
> int multi; /* virTristateSwitch */
> virZPCIDeviceAddress zpci;
> };
There's an error in syntax-check. I think it's from common code.
src/util/virpci.h:47: unsigned int uid;
maint.mk: use pid_t for pid, uid_t for uid, gid_t for gid
I think it mistakes zpci's uid.
Easy enough to fix: just apply the patch below, change the
struct definition to
struct _virZPCIDeviceAddress {
unsigned int uid; /* exempt from syntax-check */
unsigned int fid;
};
and it will go away :)
diff --git a/cfg.mk b/cfg.mk
index 609ae869c2..1116feb299 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -472,6 +472,7 @@ sc_prohibit_canonicalize_file_name:
# Insist on correct types for [pug]id.
sc_correct_id_types:
@prohibit='\<(int|long) *[pug]id\>' \
+ exclude='exempt from syntax-check' \
halt='use pid_t for pid, uid_t for uid, gid_t for gid' \
$(_sc_search_regexp)
--
Andrea Bolognani / Red Hat / Virtualization