qcow2: skip writing zero buffers to empty COW areas
[qemu.git] / block / trace-events
1 # See docs/devel/tracing.txt for syntax documentation.
2
3 # ../block.c
4 bdrv_open_common(void *bs, const char *filename, int flags, const char *format_name) "bs %p filename \"%s\" flags 0x%x format_name \"%s\""
5 bdrv_lock_medium(void *bs, bool locked) "bs %p locked %d"
6
7 # block-backend.c
8 blk_co_preadv(void *blk, void *bs, int64_t offset, unsigned int bytes, int flags) "blk %p bs %p offset %"PRId64" bytes %u flags 0x%x"
9 blk_co_pwritev(void *blk, void *bs, int64_t offset, unsigned int bytes, int flags) "blk %p bs %p offset %"PRId64" bytes %u flags 0x%x"
10 blk_root_attach(void *child, void *blk, void *bs) "child %p blk %p bs %p"
11 blk_root_detach(void *child, void *blk, void *bs) "child %p blk %p bs %p"
12
13 # io.c
14 bdrv_co_preadv(void *bs, int64_t offset, int64_t nbytes, unsigned int flags) "bs %p offset %"PRId64" nbytes %"PRId64" flags 0x%x"
15 bdrv_co_pwritev(void *bs, int64_t offset, int64_t nbytes, unsigned int flags) "bs %p offset %"PRId64" nbytes %"PRId64" flags 0x%x"
16 bdrv_co_pwrite_zeroes(void *bs, int64_t offset, int count, int flags) "bs %p offset %"PRId64" count %d flags 0x%x"
17 bdrv_co_do_copy_on_readv(void *bs, int64_t offset, unsigned int bytes, int64_t cluster_offset, int64_t cluster_bytes) "bs %p offset %"PRId64" bytes %u cluster_offset %"PRId64" cluster_bytes %"PRId64
18 bdrv_co_copy_range_from(void *src, uint64_t src_offset, void *dst, uint64_t dst_offset, uint64_t bytes, int read_flags, int write_flags) "src %p offset %"PRIu64" dst %p offset %"PRIu64" bytes %"PRIu64" rw flags 0x%x 0x%x"
19 bdrv_co_copy_range_to(void *src, uint64_t src_offset, void *dst, uint64_t dst_offset, uint64_t bytes, int read_flags, int write_flags) "src %p offset %"PRIu64" dst %p offset %"PRIu64" bytes %"PRIu64" rw flags 0x%x 0x%x"
20
21 # stream.c
22 stream_one_iteration(void *s, int64_t offset, uint64_t bytes, int is_allocated) "s %p offset %" PRId64 " bytes %" PRIu64 " is_allocated %d"
23 stream_start(void *bs, void *base, void *s) "bs %p base %p s %p"
24
25 # commit.c
26 commit_one_iteration(void *s, int64_t offset, uint64_t bytes, int is_allocated) "s %p offset %" PRId64 " bytes %" PRIu64 " is_allocated %d"
27 commit_start(void *bs, void *base, void *top, void *s) "bs %p base %p top %p s %p"
28
29 # mirror.c
30 mirror_start(void *bs, void *s, void *opaque) "bs %p s %p opaque %p"
31 mirror_restart_iter(void *s, int64_t cnt) "s %p dirty count %"PRId64
32 mirror_before_flush(void *s) "s %p"
33 mirror_before_drain(void *s, int64_t cnt) "s %p dirty count %"PRId64
34 mirror_before_sleep(void *s, int64_t cnt, int synced, uint64_t delay_ns) "s %p dirty count %"PRId64" synced %d delay %"PRIu64"ns"
35 mirror_one_iteration(void *s, int64_t offset, uint64_t bytes) "s %p offset %" PRId64 " bytes %" PRIu64
36 mirror_iteration_done(void *s, int64_t offset, uint64_t bytes, int ret) "s %p offset %" PRId64 " bytes %" PRIu64 " ret %d"
37 mirror_yield(void *s, int64_t cnt, int buf_free_count, int in_flight) "s %p dirty count %"PRId64" free buffers %d in_flight %d"
38 mirror_yield_in_flight(void *s, int64_t offset, int in_flight) "s %p offset %" PRId64 " in_flight %d"
39
40 # backup.c
41 backup_do_cow_enter(void *job, int64_t start, int64_t offset, uint64_t bytes) "job %p start %" PRId64 " offset %" PRId64 " bytes %" PRIu64
42 backup_do_cow_return(void *job, int64_t offset, uint64_t bytes, int ret) "job %p offset %" PRId64 " bytes %" PRIu64 " ret %d"
43 backup_do_cow_skip(void *job, int64_t start) "job %p start %"PRId64
44 backup_do_cow_process(void *job, int64_t start) "job %p start %"PRId64
45 backup_do_cow_read_fail(void *job, int64_t start, int ret) "job %p start %"PRId64" ret %d"
46 backup_do_cow_write_fail(void *job, int64_t start, int ret) "job %p start %"PRId64" ret %d"
47 backup_do_cow_copy_range_fail(void *job, int64_t start, int ret) "job %p start %"PRId64" ret %d"
48
49 # ../blockdev.c
50 qmp_block_job_cancel(void *job) "job %p"
51 qmp_block_job_pause(void *job) "job %p"
52 qmp_block_job_resume(void *job) "job %p"
53 qmp_block_job_complete(void *job) "job %p"
54 qmp_block_job_finalize(void *job) "job %p"
55 qmp_block_job_dismiss(void *job) "job %p"
56 qmp_block_stream(void *bs, void *job) "bs %p job %p"
57
58 # file-posix.c
59 # file-win32.c
60 file_paio_submit(void *acb, void *opaque, int64_t offset, int count, int type) "acb %p opaque %p offset %"PRId64" count %d type %d"
61 file_copy_file_range(void *bs, int src, int64_t src_off, int dst, int64_t dst_off, int64_t bytes, int flags, int64_t ret) "bs %p src_fd %d offset %"PRIu64" dst_fd %d offset %"PRIu64" bytes %"PRIu64" flags %d ret %"PRId64
62
63 # qcow2.c
64 qcow2_writev_start_req(void *co, int64_t offset, int bytes) "co %p offset 0x%" PRIx64 " bytes %d"
65 qcow2_writev_done_req(void *co, int ret) "co %p ret %d"
66 qcow2_writev_start_part(void *co) "co %p"
67 qcow2_writev_done_part(void *co, int cur_bytes) "co %p cur_bytes %d"
68 qcow2_writev_data(void *co, uint64_t offset) "co %p offset 0x%" PRIx64
69 qcow2_pwrite_zeroes_start_req(void *co, int64_t offset, int count) "co %p offset 0x%" PRIx64 " count %d"
70 qcow2_pwrite_zeroes(void *co, int64_t offset, int count) "co %p offset 0x%" PRIx64 " count %d"
71 qcow2_skip_cow(void *co, uint64_t offset, int nb_clusters) "co %p offset 0x%" PRIx64 " nb_clusters %d"
72
73 # qcow2-cluster.c
74 qcow2_alloc_clusters_offset(void *co, uint64_t offset, int bytes) "co %p offset 0x%" PRIx64 " bytes %d"
75 qcow2_handle_copied(void *co, uint64_t guest_offset, uint64_t host_offset, uint64_t bytes) "co %p guest_offset 0x%" PRIx64 " host_offset 0x%" PRIx64 " bytes 0x%" PRIx64
76 qcow2_handle_alloc(void *co, uint64_t guest_offset, uint64_t host_offset, uint64_t bytes) "co %p guest_offset 0x%" PRIx64 " host_offset 0x%" PRIx64 " bytes 0x%" PRIx64
77 qcow2_do_alloc_clusters_offset(void *co, uint64_t guest_offset, uint64_t host_offset, int nb_clusters) "co %p guest_offset 0x%" PRIx64 " host_offset 0x%" PRIx64 " nb_clusters %d"
78 qcow2_cluster_alloc_phys(void *co) "co %p"
79 qcow2_cluster_link_l2(void *co, int nb_clusters) "co %p nb_clusters %d"
80
81 qcow2_l2_allocate(void *bs, int l1_index) "bs %p l1_index %d"
82 qcow2_l2_allocate_get_empty(void *bs, int l1_index) "bs %p l1_index %d"
83 qcow2_l2_allocate_write_l2(void *bs, int l1_index) "bs %p l1_index %d"
84 qcow2_l2_allocate_write_l1(void *bs, int l1_index) "bs %p l1_index %d"
85 qcow2_l2_allocate_done(void *bs, int l1_index, int ret) "bs %p l1_index %d ret %d"
86
87 # qcow2-cache.c
88 qcow2_cache_get(void *co, int c, uint64_t offset, bool read_from_disk) "co %p is_l2_cache %d offset 0x%" PRIx64 " read_from_disk %d"
89 qcow2_cache_get_replace_entry(void *co, int c, int i) "co %p is_l2_cache %d index %d"
90 qcow2_cache_get_read(void *co, int c, int i) "co %p is_l2_cache %d index %d"
91 qcow2_cache_get_done(void *co, int c, int i) "co %p is_l2_cache %d index %d"
92 qcow2_cache_flush(void *co, int c) "co %p is_l2_cache %d"
93 qcow2_cache_entry_flush(void *co, int c, int i) "co %p is_l2_cache %d index %d"
94
95 # qed-l2-cache.c
96 qed_alloc_l2_cache_entry(void *l2_cache, void *entry) "l2_cache %p entry %p"
97 qed_unref_l2_cache_entry(void *entry, int ref) "entry %p ref %d"
98 qed_find_l2_cache_entry(void *l2_cache, void *entry, uint64_t offset, int ref) "l2_cache %p entry %p offset %"PRIu64" ref %d"
99
100 # qed-table.c
101 qed_read_table(void *s, uint64_t offset, void *table) "s %p offset %"PRIu64" table %p"
102 qed_read_table_cb(void *s, void *table, int ret) "s %p table %p ret %d"
103 qed_write_table(void *s, uint64_t offset, void *table, unsigned int index, unsigned int n) "s %p offset %"PRIu64" table %p index %u n %u"
104 qed_write_table_cb(void *s, void *table, int flush, int ret) "s %p table %p flush %d ret %d"
105
106 # qed.c
107 qed_need_check_timer_cb(void *s) "s %p"
108 qed_start_need_check_timer(void *s) "s %p"
109 qed_cancel_need_check_timer(void *s) "s %p"
110 qed_aio_complete(void *s, void *acb, int ret) "s %p acb %p ret %d"
111 qed_aio_setup(void *s, void *acb, int64_t sector_num, int nb_sectors, void *opaque, int flags) "s %p acb %p sector_num %"PRId64" nb_sectors %d opaque %p flags 0x%x"
112 qed_aio_next_io(void *s, void *acb, int ret, uint64_t cur_pos) "s %p acb %p ret %d cur_pos %"PRIu64
113 qed_aio_read_data(void *s, void *acb, int ret, uint64_t offset, size_t len) "s %p acb %p ret %d offset %"PRIu64" len %zu"
114 qed_aio_write_data(void *s, void *acb, int ret, uint64_t offset, size_t len) "s %p acb %p ret %d offset %"PRIu64" len %zu"
115 qed_aio_write_prefill(void *s, void *acb, uint64_t start, size_t len, uint64_t offset) "s %p acb %p start %"PRIu64" len %zu offset %"PRIu64
116 qed_aio_write_postfill(void *s, void *acb, uint64_t start, size_t len, uint64_t offset) "s %p acb %p start %"PRIu64" len %zu offset %"PRIu64
117 qed_aio_write_main(void *s, void *acb, int ret, uint64_t offset, size_t len) "s %p acb %p ret %d offset %"PRIu64" len %zu"
118
119 # vxhs.c
120 vxhs_iio_callback(int error) "ctx is NULL: error %d"
121 vxhs_iio_callback_chnfail(int err, int error) "QNIO channel failed, no i/o %d, %d"
122 vxhs_iio_callback_unknwn(int opcode, int err) "unexpected opcode %d, errno %d"
123 vxhs_aio_rw_invalid(int req) "Invalid I/O request iodir %d"
124 vxhs_aio_rw_ioerr(char *guid, int iodir, uint64_t size, uint64_t off, void *acb, int ret, int err) "IO ERROR (vDisk %s) FOR : Read/Write = %d size = %"PRIu64" offset = %"PRIu64" ACB = %p. Error = %d, errno = %d"
125 vxhs_get_vdisk_stat_err(char *guid, int ret, int err) "vDisk (%s) stat ioctl failed, ret = %d, errno = %d"
126 vxhs_get_vdisk_stat(char *vdisk_guid, uint64_t vdisk_size) "vDisk %s stat ioctl returned size %"PRIu64
127 vxhs_complete_aio(void *acb, uint64_t ret) "aio failed acb %p ret %"PRIu64
128 vxhs_parse_uri_filename(const char *filename) "URI passed via bdrv_parse_filename %s"
129 vxhs_open_vdiskid(const char *vdisk_id) "Opening vdisk-id %s"
130 vxhs_open_hostinfo(char *of_vsa_addr, int port) "Adding host %s:%d to BDRVVXHSState"
131 vxhs_open_iio_open(const char *host) "Failed to connect to storage agent on host %s"
132 vxhs_parse_uri_hostinfo(char *host, int port) "Host: IP %s, Port %d"
133 vxhs_close(char *vdisk_guid) "Closing vdisk %s"
134 vxhs_get_creds(const char *cacert, const char *client_key, const char *client_cert) "cacert %s, client_key %s, client_cert %s"
135
136 # nvme.c
137 nvme_kick(void *s, int queue) "s %p queue %d"
138 nvme_dma_flush_queue_wait(void *s) "s %p"
139 nvme_error(int cmd_specific, int sq_head, int sqid, int cid, int status) "cmd_specific %d sq_head %d sqid %d cid %d status 0x%x"
140 nvme_process_completion(void *s, int index, int inflight) "s %p queue %d inflight %d"
141 nvme_process_completion_queue_busy(void *s, int index) "s %p queue %d"
142 nvme_complete_command(void *s, int index, int cid) "s %p queue %d cid %d"
143 nvme_submit_command(void *s, int index, int cid) "s %p queue %d cid %d"
144 nvme_submit_command_raw(int c0, int c1, int c2, int c3, int c4, int c5, int c6, int c7) "%02x %02x %02x %02x %02x %02x %02x %02x"
145 nvme_handle_event(void *s) "s %p"
146 nvme_poll_cb(void *s) "s %p"
147 nvme_prw_aligned(void *s, int is_write, uint64_t offset, uint64_t bytes, int flags, int niov) "s %p is_write %d offset %"PRId64" bytes %"PRId64" flags %d niov %d"
148 nvme_qiov_unaligned(const void *qiov, int n, void *base, size_t size, int align) "qiov %p n %d base %p size 0x%zx align 0x%x"
149 nvme_prw_buffered(void *s, uint64_t offset, uint64_t bytes, int niov, int is_write) "s %p offset %"PRId64" bytes %"PRId64" niov %d is_write %d"
150 nvme_rw_done(void *s, int is_write, uint64_t offset, uint64_t bytes, int ret) "s %p is_write %d offset %"PRId64" bytes %"PRId64" ret %d"
151 nvme_dma_map_flush(void *s) "s %p"
152 nvme_free_req_queue_wait(void *q) "q %p"
153 nvme_cmd_map_qiov(void *s, void *cmd, void *req, void *qiov, int entries) "s %p cmd %p req %p qiov %p entries %d"
154 nvme_cmd_map_qiov_pages(void *s, int i, uint64_t page) "s %p page[%d] 0x%"PRIx64
155 nvme_cmd_map_qiov_iov(void *s, int i, void *page, int pages) "s %p iov[%d] %p pages %d"
156
157 # iscsi.c
158 iscsi_xcopy(void *src_lun, uint64_t src_off, void *dst_lun, uint64_t dst_off, uint64_t bytes, int ret) "src_lun %p offset %"PRIu64" dst_lun %p offset %"PRIu64" bytes %"PRIu64" ret %d"
159
160 # nbd-client.c
161 nbd_parse_blockstatus_compliance(const char *err) "ignoring extra data from non-compliant server: %s"
162 nbd_structured_read_compliance(const char *type) "server sent non-compliant unaligned read %s chunk"
163 nbd_read_reply_entry_fail(int ret, const char *err) "ret = %d, err: %s"
164 nbd_co_request_fail(uint64_t from, uint32_t len, uint64_t handle, uint16_t flags, uint16_t type, const char *name, int ret, const char *err) "Request failed { .from = %" PRIu64", .len = %" PRIu32 ", .handle = %" PRIu64 ", .flags = 0x%" PRIx16 ", .type = %" PRIu16 " (%s) } ret = %d, err: %s"
165
166 # ssh.c
167 ssh_restart_coroutine(void *co) "co=%p"
168 ssh_flush(void) "fsync"
169 ssh_check_host_key_knownhosts(const char *key) "host key OK: %s"
170 ssh_connect_to_ssh(char *path, int flags, int mode) "opening file %s flags=0x%x creat_mode=0%o"
171 ssh_co_yield(int sock, void *rd_handler, void *wr_handler) "s->sock=%d rd_handler=%p wr_handler=%p"
172 ssh_co_yield_back(int sock) "s->sock=%d - back"
173 ssh_getlength(int64_t length) "length=%" PRIi64
174 ssh_co_create_opts(uint64_t size) "total_size=%" PRIu64
175 ssh_read(int64_t offset, size_t size) "offset=%" PRIi64 " size=%zu"
176 ssh_read_buf(void *buf, size_t size) "sftp_read buf=%p size=%zu"
177 ssh_read_return(ssize_t ret) "sftp_read returned %zd"
178 ssh_write(int64_t offset, size_t size) "offset=%" PRIi64 " size=%zu"
179 ssh_write_buf(void *buf, size_t size) "sftp_write buf=%p size=%zu"
180 ssh_write_return(ssize_t ret) "sftp_write returned %zd"
181 ssh_seek(int64_t offset) "seeking to offset=%" PRIi64
182
183 # curl.c
184 curl_timer_cb(long timeout_ms) "timer callback timeout_ms %ld"
185 curl_sock_cb(int action, int fd) "sock action %d on fd %d"
186 curl_read_cb(size_t realsize) "just reading %zu bytes"
187 curl_open(const char *file) "opening %s"
188 curl_open_size(uint64_t size) "size = %" PRIu64
189 curl_setup_preadv(uint64_t bytes, uint64_t start, const char *range) "reading %" PRIu64 " at %" PRIu64 " (%s)"
190 curl_close(void) "close"
191
192 # file-posix.c
193 file_xfs_write_zeroes(const char *error) "cannot write zero range (%s)"
194 file_xfs_discard(const char *error) "cannot punch hole (%s)"
195 file_FindEjectableOpticalMedia(const char *media) "Matching using %s"
196 file_setup_cdrom(const char *partition) "Using %s as optical disc"
197 file_hdev_is_sg(int type, int version) "SG device found: type=%d, version=%d"
198
199 # sheepdog.c
200 sheepdog_reconnect_to_sdog(void) "Wait for connection to be established"
201 sheepdog_aio_read_response(void) "disable cache since the server doesn't support it"
202 sheepdog_open(uint32_t vid) "0x%" PRIx32 " snapshot inode was open"
203 sheepdog_close(const char *name) "%s"
204 sheepdog_create_branch_snapshot(uint32_t vdi) "0x%" PRIx32 " is snapshot"
205 sheepdog_create_branch_created(uint32_t vdi) "0x%" PRIx32 " is created"
206 sheepdog_create_branch_new(uint32_t vdi) "0x%" PRIx32 " was newly created"
207 sheepdog_co_rw_vector_update(uint32_t vdi, uint64_t oid, uint64_t data, long idx) "update ino (%" PRIu32 ") %" PRIu64 " %" PRIu64 " %ld"
208 sheepdog_co_rw_vector_new(uint64_t oid) "new oid 0x%" PRIx64
209 sheepdog_snapshot_create_info(const char *sn_name, const char *id, const char *name, int64_t size, int is_snapshot) "sn_info: name %s id_str %s s: name %s vm_state_size %" PRId64 " " "is_snapshot %d"
210 sheepdog_snapshot_create(const char *sn_name, const char *id) "%s %s"
211 sheepdog_snapshot_create_inode(const char *name, uint32_t snap, uint32_t vdi) "s->inode: name %s snap_id 0x%" PRIx32 " vdi 0x%" PRIx32
212
213 # ssh.c
214 sftp_error(const char *op, const char *ssh_err, int ssh_err_code, unsigned long sftp_err_code) "%s failed: %s (libssh2 error code: %d, sftp error code: %lu)"