Revision 6d519a5f

b/block.c
23 23
 */
24 24
#include "config-host.h"
25 25
#include "qemu-common.h"
26
#include "trace.h"
26 27
#include "monitor.h"
27 28
#include "block_int.h"
28 29
#include "module.h"
......
2063 2064
{
2064 2065
    MultiwriteCB *mcb = opaque;
2065 2066

  
2067
    trace_multiwrite_cb(mcb, ret);
2068

  
2066 2069
    if (ret < 0 && !mcb->error) {
2067 2070
        mcb->error = ret;
2068 2071
    }
......
2203 2206
    // Check for mergable requests
2204 2207
    num_reqs = multiwrite_merge(bs, reqs, num_reqs, mcb);
2205 2208

  
2209
    trace_bdrv_aio_multiwrite(mcb, mcb->num_callbacks, num_reqs);
2210

  
2206 2211
    /*
2207 2212
     * Run the aio requests. As soon as one request can't be submitted
2208 2213
     * successfully, fail all requests that are not yet submitted (we must
......
2224 2229
     */
2225 2230
    mcb->num_requests = 1;
2226 2231

  
2232
    // Run the aio requests
2227 2233
    for (i = 0; i < num_reqs; i++) {
2228 2234
        mcb->num_requests++;
2229 2235
        acb = bdrv_aio_writev(bs, reqs[i].sector, reqs[i].qiov,
......
2234 2240
            // submitted yet. Otherwise we'll wait for the submitted AIOs to
2235 2241
            // complete and report the error in the callback.
2236 2242
            if (i == 0) {
2243
                trace_bdrv_aio_multiwrite_earlyfail(mcb);
2237 2244
                goto fail;
2238 2245
            } else {
2246
                trace_bdrv_aio_multiwrite_latefail(mcb, i);
2239 2247
                multiwrite_cb(mcb, -EIO);
2240 2248
                break;
2241 2249
            }
b/hw/virtio-blk.c
13 13

  
14 14
#include <qemu-common.h>
15 15
#include "qemu-error.h"
16
#include "trace.h"
16 17
#include "blockdev.h"
17 18
#include "virtio-blk.h"
18 19
#ifdef __linux__
......
52 53
{
53 54
    VirtIOBlock *s = req->dev;
54 55

  
56
    trace_virtio_blk_req_complete(req, status);
57

  
55 58
    req->in->status = status;
56 59
    virtqueue_push(s->vq, &req->elem, req->qiov.size + sizeof(*req->in));
57 60
    virtio_notify(&s->vdev, s->vq);
......
88 91
{
89 92
    VirtIOBlockReq *req = opaque;
90 93

  
94
    trace_virtio_blk_rw_complete(req, ret);
95

  
91 96
    if (ret) {
92 97
        int is_read = !(req->out->type & VIRTIO_BLK_T_OUT);
93 98
        if (virtio_blk_handle_rw_error(req, -ret, is_read))
......
270 275
{
271 276
    BlockRequest *blkreq;
272 277

  
278
    trace_virtio_blk_handle_write(req, req->out->sector, req->qiov.size / 512);
279

  
273 280
    if (req->out->sector & req->dev->sector_mask) {
274 281
        virtio_blk_rw_complete(req, -EIO);
275 282
        return;
b/posix-aio-compat.c
25 25
#include "qemu-queue.h"
26 26
#include "osdep.h"
27 27
#include "qemu-common.h"
28
#include "trace.h"
28 29
#include "block_int.h"
29 30

  
30 31
#include "block/raw-posix-aio.h"
......
583 584
    acb->next = posix_aio_state->first_aio;
584 585
    posix_aio_state->first_aio = acb;
585 586

  
587
    trace_paio_submit(acb, opaque, sector_num, nb_sectors, type);
586 588
    qemu_paio_submit(acb);
587 589
    return &acb->common;
588 590
}
b/trace-events
37 37
disable qemu_memalign(size_t alignment, size_t size, void *ptr) "alignment %zu size %zu ptr %p"
38 38
disable qemu_valloc(size_t size, void *ptr) "size %zu ptr %p"
39 39
disable qemu_vfree(void *ptr) "ptr %p"
40

  
41
# block.c
42
disable multiwrite_cb(void *mcb, int ret) "mcb %p ret %d"
43
disable bdrv_aio_multiwrite(void *mcb, int num_callbacks, int num_reqs) "mcb %p num_callbacks %d num_reqs %d"
44
disable bdrv_aio_multiwrite_earlyfail(void *mcb) "mcb %p"
45
disable bdrv_aio_multiwrite_latefail(void *mcb, int i) "mcb %p i %d"
46

  
47
# hw/virtio-blk.c
48
disable virtio_blk_req_complete(void *req, int status) "req %p status %d"
49
disable virtio_blk_rw_complete(void *req, int ret) "req %p ret %d"
50
disable virtio_blk_handle_write(void *req, unsigned long sector, unsigned long nsectors) "req %p sector %lu nsectors %lu"
51

  
52
# posix-aio-compat.c
53
disable paio_submit(void *acb, void *opaque, unsigned long sector_num, unsigned long nb_sectors, unsigned long type) "acb %p opaque %p sector_num %lu nb_sectors %lu type %lu"

Also available in: Unified diff