在 2018/8/23 下午6:01, Andrea Bolognani 写道:
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)

Thanks for your help! I will look into this. Never meet this before.

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to