Message ID | 201110202320.54504.jcmvbkbc@gmail.com |
---|---|
State | New |
Headers | show |
Am 20.10.2011 21:20, schrieb Max Filippov: > Hi. > > Current git head build with trace enabled is broken by the commit c572f23a3e7180dbeab5e86583e43ea2afed6271 hw/9pfs: Introduce tracing for 9p pdu handlers. > Error messages: > > In file included from trace.c:2:0: > trace.h: In function ‘trace_v9fs_attach’: > trace.h:2850:9: error: too many arguments for format [-Werror=format-extra-args] > trace.h: In function ‘trace_v9fs_wstat’: > trace.h:3039:9: error: too many arguments for format [-Werror=format-extra-args] > trace.h: In function ‘trace_v9fs_mkdir’: > trace.h:3088:9: error: too many arguments for format [-Werror=format-extra-args] > trace.h: In function ‘trace_v9fs_mkdir_return’: > trace.h:3095:9: error: too many arguments for format [-Werror=format-extra-args] > cc1: all warnings being treated as errors > I noticed that, too, and I'm just preparing a patch. Stefan W.
On Thu, 20 Oct 2011 23:20:54 +0400, Max Filippov <jcmvbkbc@gmail.com> wrote: > Hi. > > Current git head build with trace enabled is broken by the commit c572f23a3e7180dbeab5e86583e43ea2afed6271 hw/9pfs: Introduce tracing for 9p pdu handlers. > Error messages: > > In file included from trace.c:2:0: > trace.h: In function ‘trace_v9fs_attach’: > trace.h:2850:9: error: too many arguments for format [-Werror=format-extra-args] > trace.h: In function ‘trace_v9fs_wstat’: > trace.h:3039:9: error: too many arguments for format [-Werror=format-extra-args] > trace.h: In function ‘trace_v9fs_mkdir’: > trace.h:3088:9: error: too many arguments for format [-Werror=format-extra-args] > trace.h: In function ‘trace_v9fs_mkdir_return’: > trace.h:3095:9: error: too many arguments for format [-Werror=format-extra-args] > cc1: all warnings being treated as errors > > Prototypes in the trace-events do not match format strings, e.g. > > v9fs_attach(uint16_t tag, uint8_t id, int32_t fid, int32_t afid, char* uname, char* aname) "tag %d id %d fid %d afid %d aname %s" > > The following patch fixes it, but I'm not sure the format lines are appropriate. Can you send the patch with signed-off-by: I will add it in the next pull request. -aneesh
On 2011-10-21 17:10, Aneesh Kumar K.V wrote: > On Thu, 20 Oct 2011 23:20:54 +0400, Max Filippov <jcmvbkbc@gmail.com> wrote: >> Hi. >> >> Current git head build with trace enabled is broken by the commit c572f23a3e7180dbeab5e86583e43ea2afed6271 hw/9pfs: Introduce tracing for 9p pdu handlers. >> Error messages: >> >> In file included from trace.c:2:0: >> trace.h: In function ‘trace_v9fs_attach’: >> trace.h:2850:9: error: too many arguments for format [-Werror=format-extra-args] >> trace.h: In function ‘trace_v9fs_wstat’: >> trace.h:3039:9: error: too many arguments for format [-Werror=format-extra-args] >> trace.h: In function ‘trace_v9fs_mkdir’: >> trace.h:3088:9: error: too many arguments for format [-Werror=format-extra-args] >> trace.h: In function ‘trace_v9fs_mkdir_return’: >> trace.h:3095:9: error: too many arguments for format [-Werror=format-extra-args] >> cc1: all warnings being treated as errors >> >> Prototypes in the trace-events do not match format strings, e.g. >> >> v9fs_attach(uint16_t tag, uint8_t id, int32_t fid, int32_t afid, char* uname, char* aname) "tag %d id %d fid %d afid %d aname %s" >> >> The following patch fixes it, but I'm not sure the format lines are appropriate. > > Can you send the patch with signed-off-by: I will add it in the next > pull request. There are more breakages with tracing enabled: CC libhw64/9pfs/virtio-9p.o cc1: warnings being treated as errors /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_create’: /data/qemu/hw/9pfs/virtio-9p.c:2225:9: error: ‘iounit’ may be used uninitialized in this function /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_readdir’: /data/qemu/hw/9pfs/virtio-9p.c:2063:13: error: ‘count’ may be used uninitialized in this function /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_xattrwalk’: /data/qemu/hw/9pfs/virtio-9p.c:3103:13: error: ‘size’ may be used uninitialized in this function /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_lcreate’: /data/qemu/hw/9pfs/virtio-9p.c:1730:13: error: ‘iounit’ may be used uninitialized in this function /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_open’: /data/qemu/hw/9pfs/virtio-9p.c:1651:9: error: ‘iounit’ may be used uninitialized in this function Not sure what the undefined variables are supposed to contain for the trace output, so I refrain from writing any patch. Jan
On Sun, 23 Oct 2011 15:54:59 +0200, Jan Kiszka <jan.kiszka@web.de> wrote: > On 2011-10-21 17:10, Aneesh Kumar K.V wrote: > > On Thu, 20 Oct 2011 23:20:54 +0400, Max Filippov <jcmvbkbc@gmail.com> wrote: > >> Hi. > >> > >> Current git head build with trace enabled is broken by the commit c572f23a3e7180dbeab5e86583e43ea2afed6271 hw/9pfs: Introduce tracing for 9p pdu handlers. > >> Error messages: > >> > >> In file included from trace.c:2:0: > >> trace.h: In function ‘trace_v9fs_attach’: > >> trace.h:2850:9: error: too many arguments for format [-Werror=format-extra-args] > >> trace.h: In function ‘trace_v9fs_wstat’: > >> trace.h:3039:9: error: too many arguments for format [-Werror=format-extra-args] > >> trace.h: In function ‘trace_v9fs_mkdir’: > >> trace.h:3088:9: error: too many arguments for format [-Werror=format-extra-args] > >> trace.h: In function ‘trace_v9fs_mkdir_return’: > >> trace.h:3095:9: error: too many arguments for format [-Werror=format-extra-args] > >> cc1: all warnings being treated as errors > >> > >> Prototypes in the trace-events do not match format strings, e.g. > >> > >> v9fs_attach(uint16_t tag, uint8_t id, int32_t fid, int32_t afid, char* uname, char* aname) "tag %d id %d fid %d afid %d aname %s" > >> > >> The following patch fixes it, but I'm not sure the format lines are appropriate. > > > > Can you send the patch with signed-off-by: I will add it in the next > > pull request. > > There are more breakages with tracing enabled: > > CC libhw64/9pfs/virtio-9p.o > cc1: warnings being treated as errors > /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_create’: > /data/qemu/hw/9pfs/virtio-9p.c:2225:9: error: ‘iounit’ may be used uninitialized in this function > /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_readdir’: > /data/qemu/hw/9pfs/virtio-9p.c:2063:13: error: ‘count’ may be used uninitialized in this function > /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_xattrwalk’: > /data/qemu/hw/9pfs/virtio-9p.c:3103:13: error: ‘size’ may be used uninitialized in this function > /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_lcreate’: > /data/qemu/hw/9pfs/virtio-9p.c:1730:13: error: ‘iounit’ may be used uninitialized in this function > /data/qemu/hw/9pfs/virtio-9p.c: In function ‘v9fs_open’: > /data/qemu/hw/9pfs/virtio-9p.c:1651:9: error: ‘iounit’ may be used uninitialized in this function > > Not sure what the undefined variables are supposed to contain for the > trace output, so I refrain from writing any patch. Ok i am testing VirtFS tracing and will send a patch that should fix these issues. Sorry for all inconvenience. Even though i do test on three different distros, all of them were done without tracing enabled. -aneesh
diff --git a/trace-events b/trace-events index fc13733..d04fe3e 100644 --- a/trace-events +++ b/trace-events @@ -557,7 +557,7 @@ open_eth_desc_write(uint32_t addr, uint32_t v) "DESC[%04x] <- %08x" complete_pdu(uint16_t tag, uint8_t id, int err) "tag %d id %d err %d" v9fs_version(uint16_t tag, uint8_t id, int32_t msize, char* version) "tag %d id %d msize %d version %s" v9fs_version_return(uint16_t tag, uint8_t id, int32_t msize, char* version) "tag %d id %d msize %d version %s" -v9fs_attach(uint16_t tag, uint8_t id, int32_t fid, int32_t afid, char* uname, char* aname) "tag %d id %d fid %d afid %d aname %s" +v9fs_attach(uint16_t tag, uint8_t id, int32_t fid, int32_t afid, char* uname, char* aname) "tag %d id %d fid %d afid %d uname %s aname %s" v9fs_attach_return(uint16_t tag, uint8_t id, int8_t type, int32_t version, int64_t path) "tag %d id %d type %d version %d path %"PRId64"" v9fs_stat(uint16_t tag, uint8_t id, int32_t fid) "tag %d id %d fid %d" v9fs_stat_return(uint16_t tag, uint8_t id, int32_t mode, int32_t atime, int32_t mtime, int64_t length) "tag %d id %d stat={mode %d atime %d mtime %d length %"PRId64"}" @@ -584,15 +584,15 @@ v9fs_symlink_return(uint16_t tag, uint8_t id, int8_t type, int32_t version, int6 v9fs_flush(uint16_t tag, uint8_t id, int16_t flush_tag) "tag %d id %d flush_tag %d" v9fs_link(uint16_t tag, uint8_t id, int32_t dfid, int32_t oldfid, char* name) "tag %d id %d dfid %d oldfid %d name %s" v9fs_remove(uint16_t tag, uint8_t id, int32_t fid) "tag %d id %d fid %d" -v9fs_wstat(uint16_t tag, uint8_t id, int32_t fid, int32_t mode, int32_t atime, int32_t mtime) "tag %d id %d fid %d stat={mode %d atime %d mtime}" +v9fs_wstat(uint16_t tag, uint8_t id, int32_t fid, int32_t mode, int32_t atime, int32_t mtime) "tag %d id %d fid %d stat={mode %d atime %d mtime %d}" v9fs_mknod(uint16_t tag, uint8_t id, int32_t fid, int mode, int major, int minor) "tag %d id %d fid %d mode %d major %d minor %d" v9fs_mknod_return(uint16_t tag, uint8_t id, int8_t type, int32_t version, int64_t path) "tag %d id %d qid={type %d version %d path %"PRId64"}" v9fs_lock(uint16_t tag, uint8_t id, int32_t fid, uint8_t type, uint64_t start, uint64_t length) "tag %d id %d fid %d type %d start %"PRIu64" length %"PRIu64"" v9fs_lock_return(uint16_t tag, uint8_t id, int8_t status) "tag %d id %d status %d" v9fs_getlock(uint16_t tag, uint8_t id, int32_t fid, uint8_t type, uint64_t start, uint64_t length)"tag %d id %d fid %d type %d start %"PRIu64" length %"PRIu64"" v9fs_getlock_return(uint16_t tag, uint8_t id, uint8_t type, uint64_t start, uint64_t length, uint32_t proc_id) "tag %d id %d type %d start %"PRIu64" length %"PRIu64" proc_id %u" -v9fs_mkdir(uint16_t tag, uint8_t id, int32_t fid, char* name, int mode, uint32_t gid) "tag %d id %d fid %d name %s mode %d" -v9fs_mkdir_return(uint16_t tag, uint8_t id, int8_t type, int32_t version, int64_t path, int err) "tag %d id %d qid={type %d version %d path %"PRId64"}" +v9fs_mkdir(uint16_t tag, uint8_t id, int32_t fid, char* name, int mode, uint32_t gid) "tag %d id %d fid %d name %s mode %d gid %d" +v9fs_mkdir_return(uint16_t tag, uint8_t id, int8_t type, int32_t version, int64_t path, int err) "tag %d id %d qid={type %d version %d path %"PRId64"} err %d" v9fs_xattrwalk(uint16_t tag, uint8_t id, int32_t fid, int32_t newfid, char* name) "tag %d id %d fid %d newfid %d name %s" v9fs_xattrwalk_return(uint16_t tag, uint8_t id, int64_t size) "tag %d id %d size %"PRId64"" v9fs_xattrcreate(uint16_t tag, uint8_t id, int32_t fid, char* name, int64_t size, int flags) "tag %d id %d fid %d name %s size %"PRId64" flags %d"