Message ID | 20230310102403.61347-8-faithilikerun@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for zoned device | expand |
On Fri, 2023-03-10 at 18:24 +0800, Sam Li wrote: > Signed-off-by: Sam Li <faithilikerun@gmail.com> > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> With one small nit below, Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com> > --- > block/file-posix.c | 3 +++ > block/trace-events | 2 ++ > 2 files changed, 5 insertions(+) > > diff --git a/block/file-posix.c b/block/file-posix.c > index 2eceb250f1..563acc76ae 100644 > --- a/block/file-posix.c > +++ b/block/file-posix.c > @@ -3256,6 +3256,7 @@ static int coroutine_fn > raw_co_zone_report(BlockDriverState *bs, int64_t offset, > BlockZoneDescriptor *zones) { > BDRVRawState *s = bs->opaque; > RawPosixAIOData acb; > + trace_zbd_zone_report(bs, *nr_zones, offset >> BDRV_SECTOR_BITS); The code in this function could be made a bit simpler - BDRVRawState *s = bs->opaque; RawPosixAIOData acb = (RawPosixAIOData) { .bs = bs, .aio_fildes = s->fd, .aio_type = QEMU_AIO_ZONE_REPORT, .aio_offset = offset, .zone_report = { .nr_zones = nr_zones, .zones = zones, }, }; trace_zbd_zone_report(bs, *nr_zones, offset >> BDRV_SECTOR_BITS); return raw_thread_pool_submit(bs, handle_aiocb_zone_report, &acb); > > acb = (RawPosixAIOData) { > .bs = bs, > @@ -3334,6 +3335,8 @@ static int coroutine_fn raw_co_zone_mgmt(BlockDriverState > *bs, BlockZoneOp op, > }, > }; > > + trace_zbd_zone_mgmt(bs, op_name, offset >> BDRV_SECTOR_BITS, > + len >> BDRV_SECTOR_BITS); > ret = raw_thread_pool_submit(bs, handle_aiocb_zone_mgmt, &acb); > if (ret != 0) { > ret = -errno; > diff --git a/block/trace-events b/block/trace-events > index 48dbf10c66..3f4e1d088a 100644 > --- a/block/trace-events > +++ b/block/trace-events > @@ -209,6 +209,8 @@ file_FindEjectableOpticalMedia(const char *media) "Matching > using %s" > file_setup_cdrom(const char *partition) "Using %s as optical disc" > file_hdev_is_sg(int type, int version) "SG device found: type=%d, version=%d" > file_flush_fdatasync_failed(int err) "errno %d" > +zbd_zone_report(void *bs, unsigned int nr_zones, int64_t sector) "bs %p report > %d zones starting at sector offset 0x%" PRIx64 "" > +zbd_zone_mgmt(void *bs, const char *op_name, int64_t sector, int64_t len) "bs > %p %s starts at sector offset 0x%" PRIx64 " over a range of 0x%" PRIx64 " > sectors" > > # ssh.c > sftp_error(const char *op, const char *ssh_err, int ssh_err_code, int > sftp_err_code) "%s failed: %s (libssh error code: %d, sftp error code: %d)"
diff --git a/block/file-posix.c b/block/file-posix.c index 2eceb250f1..563acc76ae 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -3256,6 +3256,7 @@ static int coroutine_fn raw_co_zone_report(BlockDriverState *bs, int64_t offset, BlockZoneDescriptor *zones) { BDRVRawState *s = bs->opaque; RawPosixAIOData acb; + trace_zbd_zone_report(bs, *nr_zones, offset >> BDRV_SECTOR_BITS); acb = (RawPosixAIOData) { .bs = bs, @@ -3334,6 +3335,8 @@ static int coroutine_fn raw_co_zone_mgmt(BlockDriverState *bs, BlockZoneOp op, }, }; + trace_zbd_zone_mgmt(bs, op_name, offset >> BDRV_SECTOR_BITS, + len >> BDRV_SECTOR_BITS); ret = raw_thread_pool_submit(bs, handle_aiocb_zone_mgmt, &acb); if (ret != 0) { ret = -errno; diff --git a/block/trace-events b/block/trace-events index 48dbf10c66..3f4e1d088a 100644 --- a/block/trace-events +++ b/block/trace-events @@ -209,6 +209,8 @@ file_FindEjectableOpticalMedia(const char *media) "Matching using %s" file_setup_cdrom(const char *partition) "Using %s as optical disc" file_hdev_is_sg(int type, int version) "SG device found: type=%d, version=%d" file_flush_fdatasync_failed(int err) "errno %d" +zbd_zone_report(void *bs, unsigned int nr_zones, int64_t sector) "bs %p report %d zones starting at sector offset 0x%" PRIx64 "" +zbd_zone_mgmt(void *bs, const char *op_name, int64_t sector, int64_t len) "bs %p %s starts at sector offset 0x%" PRIx64 " over a range of 0x%" PRIx64 " sectors" # ssh.c sftp_error(const char *op, const char *ssh_err, int ssh_err_code, int sftp_err_code) "%s failed: %s (libssh error code: %d, sftp error code: %d)"