2016-08-08 18:11:21 +03:00
|
|
|
# See docs/tracing.txt for syntax documentation.
|
2016-06-16 11:39:52 +03:00
|
|
|
|
|
|
|
# block.c
|
|
|
|
bdrv_open_common(void *bs, const char *filename, int flags, const char *format_name) "bs %p filename \"%s\" flags %#x format_name \"%s\""
|
|
|
|
bdrv_lock_medium(void *bs, bool locked) "bs %p locked %d"
|
|
|
|
|
|
|
|
# block/block-backend.c
|
|
|
|
blk_co_preadv(void *blk, void *bs, int64_t offset, unsigned int bytes, int flags) "blk %p bs %p offset %"PRId64" bytes %u flags %x"
|
|
|
|
blk_co_pwritev(void *blk, void *bs, int64_t offset, unsigned int bytes, int flags) "blk %p bs %p offset %"PRId64" bytes %u flags %x"
|
|
|
|
|
|
|
|
# block/io.c
|
|
|
|
bdrv_co_readv(void *bs, int64_t sector_num, int nb_sector) "bs %p sector_num %"PRId64" nb_sectors %d"
|
|
|
|
bdrv_co_writev(void *bs, int64_t sector_num, int nb_sector) "bs %p sector_num %"PRId64" nb_sectors %d"
|
|
|
|
bdrv_co_pwrite_zeroes(void *bs, int64_t offset, int count, int flags) "bs %p offset %"PRId64" count %d flags %#x"
|
|
|
|
bdrv_co_do_copy_on_readv(void *bs, int64_t offset, unsigned int bytes, int64_t cluster_offset, unsigned int cluster_bytes) "bs %p offset %"PRId64" bytes %u cluster_offset %"PRId64" cluster_bytes %u"
|
|
|
|
|
|
|
|
# block/stream.c
|
2017-07-07 15:44:40 +03:00
|
|
|
stream_one_iteration(void *s, int64_t offset, uint64_t bytes, int is_allocated) "s %p offset %" PRId64 " bytes %" PRIu64 " is_allocated %d"
|
2016-11-08 09:50:37 +03:00
|
|
|
stream_start(void *bs, void *base, void *s) "bs %p base %p s %p"
|
2016-06-16 11:39:52 +03:00
|
|
|
|
|
|
|
# block/commit.c
|
2017-07-07 15:44:40 +03:00
|
|
|
commit_one_iteration(void *s, int64_t offset, uint64_t bytes, int is_allocated) "s %p offset %" PRId64 " bytes %" PRIu64 " is_allocated %d"
|
2016-11-08 09:50:37 +03:00
|
|
|
commit_start(void *bs, void *base, void *top, void *s) "bs %p base %p top %p s %p"
|
2016-06-16 11:39:52 +03:00
|
|
|
|
|
|
|
# block/mirror.c
|
2016-11-08 09:50:37 +03:00
|
|
|
mirror_start(void *bs, void *s, void *opaque) "bs %p s %p opaque %p"
|
2016-06-16 11:39:52 +03:00
|
|
|
mirror_restart_iter(void *s, int64_t cnt) "s %p dirty count %"PRId64
|
|
|
|
mirror_before_flush(void *s) "s %p"
|
|
|
|
mirror_before_drain(void *s, int64_t cnt) "s %p dirty count %"PRId64
|
|
|
|
mirror_before_sleep(void *s, int64_t cnt, int synced, uint64_t delay_ns) "s %p dirty count %"PRId64" synced %d delay %"PRIu64"ns"
|
2017-07-07 15:44:40 +03:00
|
|
|
mirror_one_iteration(void *s, int64_t offset, uint64_t bytes) "s %p offset %" PRId64 " bytes %" PRIu64
|
|
|
|
mirror_iteration_done(void *s, int64_t offset, uint64_t bytes, int ret) "s %p offset %" PRId64 " bytes %" PRIu64 " ret %d"
|
2016-06-16 11:39:52 +03:00
|
|
|
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"
|
2017-07-07 15:44:40 +03:00
|
|
|
mirror_yield_in_flight(void *s, int64_t offset, int in_flight) "s %p offset %" PRId64 " in_flight %d"
|
2016-06-16 11:39:52 +03:00
|
|
|
|
|
|
|
# block/backup.c
|
2017-07-07 15:44:40 +03:00
|
|
|
backup_do_cow_enter(void *job, int64_t start, int64_t offset, uint64_t bytes) "job %p start %" PRId64 " offset %" PRId64 " bytes %" PRIu64
|
|
|
|
backup_do_cow_return(void *job, int64_t offset, uint64_t bytes, int ret) "job %p offset %" PRId64 " bytes %" PRIu64 " ret %d"
|
2016-06-16 11:39:52 +03:00
|
|
|
backup_do_cow_skip(void *job, int64_t start) "job %p start %"PRId64
|
|
|
|
backup_do_cow_process(void *job, int64_t start) "job %p start %"PRId64
|
|
|
|
backup_do_cow_read_fail(void *job, int64_t start, int ret) "job %p start %"PRId64" ret %d"
|
|
|
|
backup_do_cow_write_fail(void *job, int64_t start, int ret) "job %p start %"PRId64" ret %d"
|
|
|
|
|
|
|
|
# blockdev.c
|
|
|
|
qmp_block_job_cancel(void *job) "job %p"
|
|
|
|
qmp_block_job_pause(void *job) "job %p"
|
|
|
|
qmp_block_job_resume(void *job) "job %p"
|
|
|
|
qmp_block_job_complete(void *job) "job %p"
|
|
|
|
qmp_block_stream(void *bs, void *job) "bs %p job %p"
|
|
|
|
|
2016-12-02 22:48:54 +03:00
|
|
|
# block/file-win32.c
|
|
|
|
# block/file-posix.c
|
2016-06-16 11:39:52 +03:00
|
|
|
paio_submit_co(int64_t offset, int count, int type) "offset %"PRId64" count %d type %d"
|
2016-07-16 02:22:55 +03:00
|
|
|
paio_submit(void *acb, void *opaque, int64_t offset, int count, int type) "acb %p opaque %p offset %"PRId64" count %d type %d"
|
2016-06-16 11:39:52 +03:00
|
|
|
|
|
|
|
# block/qcow2.c
|
|
|
|
qcow2_writev_start_req(void *co, int64_t offset, int bytes) "co %p offset %" PRIx64 " bytes %d"
|
|
|
|
qcow2_writev_done_req(void *co, int ret) "co %p ret %d"
|
|
|
|
qcow2_writev_start_part(void *co) "co %p"
|
|
|
|
qcow2_writev_done_part(void *co, int cur_bytes) "co %p cur_bytes %d"
|
|
|
|
qcow2_writev_data(void *co, uint64_t offset) "co %p offset %" PRIx64
|
|
|
|
qcow2_pwrite_zeroes_start_req(void *co, int64_t offset, int count) "co %p offset %" PRIx64 " count %d"
|
|
|
|
qcow2_pwrite_zeroes(void *co, int64_t offset, int count) "co %p offset %" PRIx64 " count %d"
|
|
|
|
|
|
|
|
# block/qcow2-cluster.c
|
|
|
|
qcow2_alloc_clusters_offset(void *co, uint64_t offset, int bytes) "co %p offset %" PRIx64 " bytes %d"
|
|
|
|
qcow2_handle_copied(void *co, uint64_t guest_offset, uint64_t host_offset, uint64_t bytes) "co %p guest_offset %" PRIx64 " host_offset %" PRIx64 " bytes %" PRIx64
|
|
|
|
qcow2_handle_alloc(void *co, uint64_t guest_offset, uint64_t host_offset, uint64_t bytes) "co %p guest_offset %" PRIx64 " host_offset %" PRIx64 " bytes %" PRIx64
|
|
|
|
qcow2_do_alloc_clusters_offset(void *co, uint64_t guest_offset, uint64_t host_offset, int nb_clusters) "co %p guest_offset %" PRIx64 " host_offset %" PRIx64 " nb_clusters %d"
|
|
|
|
qcow2_cluster_alloc_phys(void *co) "co %p"
|
|
|
|
qcow2_cluster_link_l2(void *co, int nb_clusters) "co %p nb_clusters %d"
|
|
|
|
|
|
|
|
qcow2_l2_allocate(void *bs, int l1_index) "bs %p l1_index %d"
|
|
|
|
qcow2_l2_allocate_get_empty(void *bs, int l1_index) "bs %p l1_index %d"
|
|
|
|
qcow2_l2_allocate_write_l2(void *bs, int l1_index) "bs %p l1_index %d"
|
|
|
|
qcow2_l2_allocate_write_l1(void *bs, int l1_index) "bs %p l1_index %d"
|
|
|
|
qcow2_l2_allocate_done(void *bs, int l1_index, int ret) "bs %p l1_index %d ret %d"
|
|
|
|
|
|
|
|
# block/qcow2-cache.c
|
|
|
|
qcow2_cache_get(void *co, int c, uint64_t offset, bool read_from_disk) "co %p is_l2_cache %d offset %" PRIx64 " read_from_disk %d"
|
|
|
|
qcow2_cache_get_replace_entry(void *co, int c, int i) "co %p is_l2_cache %d index %d"
|
|
|
|
qcow2_cache_get_read(void *co, int c, int i) "co %p is_l2_cache %d index %d"
|
|
|
|
qcow2_cache_get_done(void *co, int c, int i) "co %p is_l2_cache %d index %d"
|
|
|
|
qcow2_cache_flush(void *co, int c) "co %p is_l2_cache %d"
|
|
|
|
qcow2_cache_entry_flush(void *co, int c, int i) "co %p is_l2_cache %d index %d"
|
|
|
|
|
|
|
|
# block/qed-l2-cache.c
|
|
|
|
qed_alloc_l2_cache_entry(void *l2_cache, void *entry) "l2_cache %p entry %p"
|
|
|
|
qed_unref_l2_cache_entry(void *entry, int ref) "entry %p ref %d"
|
|
|
|
qed_find_l2_cache_entry(void *l2_cache, void *entry, uint64_t offset, int ref) "l2_cache %p entry %p offset %"PRIu64" ref %d"
|
|
|
|
|
|
|
|
# block/qed-table.c
|
|
|
|
qed_read_table(void *s, uint64_t offset, void *table) "s %p offset %"PRIu64" table %p"
|
|
|
|
qed_read_table_cb(void *s, void *table, int ret) "s %p table %p ret %d"
|
|
|
|
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"
|
|
|
|
qed_write_table_cb(void *s, void *table, int flush, int ret) "s %p table %p flush %d ret %d"
|
|
|
|
|
|
|
|
# block/qed.c
|
|
|
|
qed_need_check_timer_cb(void *s) "s %p"
|
|
|
|
qed_start_need_check_timer(void *s) "s %p"
|
|
|
|
qed_cancel_need_check_timer(void *s) "s %p"
|
|
|
|
qed_aio_complete(void *s, void *acb, int ret) "s %p acb %p ret %d"
|
|
|
|
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 %#x"
|
|
|
|
qed_aio_next_io(void *s, void *acb, int ret, uint64_t cur_pos) "s %p acb %p ret %d cur_pos %"PRIu64
|
|
|
|
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"
|
|
|
|
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"
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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"
|
block/vxhs.c: Add support for a new block device type called "vxhs"
Source code for the qnio library that this code loads can be downloaded from:
https://github.com/VeritasHyperScale/libqnio.git
Sample command line using JSON syntax:
./x86_64-softmmu/qemu-system-x86_64 -name instance-00000008 -S -vnc 0.0.0.0:0
-k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
-msg timestamp=on
'json:{"driver":"vxhs","vdisk-id":"c3e9095a-a5ee-4dce-afeb-2a59fb387410",
"server":{"host":"172.172.17.4","port":"9999"}}'
Sample command line using URI syntax:
qemu-img convert -f raw -O raw -n
/var/lib/nova/instances/_base/0c5eacd5ebea5ed914b6a3e7b18f1ce734c386ad
vxhs://192.168.0.1:9999/c6718f6b-0401-441d-a8c3-1f0064d75ee0
Sample command line using TLS credentials (run in secure mode):
./qemu-io --object
tls-creds-x509,id=tls0,dir=/etc/pki/qemu/vxhs,endpoint=client -c 'read
-v 66000 2.5k' 'json:{"server.host": "127.0.0.1", "server.port": "9999",
"vdisk-id": "/test.raw", "driver": "vxhs", "tls-creds":"tls0"}'
[Jeff: Modified trace-events with the correct string formatting]
Signed-off-by: Ashish Mittal <Ashish.Mittal@veritas.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Message-id: 1491277689-24949-2-git-send-email-Ashish.Mittal@veritas.com
2017-04-04 06:48:08 +03:00
|
|
|
|
|
|
|
# block/vxhs.c
|
|
|
|
vxhs_iio_callback(int error) "ctx is NULL: error %d"
|
|
|
|
vxhs_iio_callback_chnfail(int err, int error) "QNIO channel failed, no i/o %d, %d"
|
|
|
|
vxhs_iio_callback_unknwn(int opcode, int err) "unexpected opcode %d, errno %d"
|
|
|
|
vxhs_aio_rw_invalid(int req) "Invalid I/O request iodir %d"
|
|
|
|
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"
|
|
|
|
vxhs_get_vdisk_stat_err(char *guid, int ret, int err) "vDisk (%s) stat ioctl failed, ret = %d, errno = %d"
|
|
|
|
vxhs_get_vdisk_stat(char *vdisk_guid, uint64_t vdisk_size) "vDisk %s stat ioctl returned size %"PRIu64
|
|
|
|
vxhs_complete_aio(void *acb, uint64_t ret) "aio failed acb %p ret %"PRIu64
|
|
|
|
vxhs_parse_uri_filename(const char *filename) "URI passed via bdrv_parse_filename %s"
|
|
|
|
vxhs_open_vdiskid(const char *vdisk_id) "Opening vdisk-id %s"
|
|
|
|
vxhs_open_hostinfo(char *of_vsa_addr, int port) "Adding host %s:%d to BDRVVXHSState"
|
|
|
|
vxhs_open_iio_open(const char *host) "Failed to connect to storage agent on host %s"
|
|
|
|
vxhs_parse_uri_hostinfo(char *host, int port) "Host: IP %s, Port %d"
|
|
|
|
vxhs_close(char *vdisk_guid) "Closing vdisk %s"
|
|
|
|
vxhs_get_creds(const char *cacert, const char *client_key, const char *client_cert) "cacert %s, client_key %s, client_cert %s"
|