diff options
author | Gvozden Neskovic <[email protected]> | 2017-08-04 11:29:56 +0200 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2018-01-30 10:27:30 -0600 |
commit | 06acbbc429bfe7197e5fc3a49acfeef5c37b64c8 (patch) | |
tree | 5ec229be0b90cf9351d2f37cad78aa3a7de825b9 /include | |
parent | 6116bbd7446f06d913415bdecb208a78b31db0af (diff) |
vdev_mirror: load balancing fixes
vdev_queue:
- Track the last position of each vdev, including the io size,
in order to detect linear access of the following zio.
- Remove duplicate `vq_lastoffset`
vdev_mirror:
- Correctly calculate the zio offset (signedness issue)
- Deprecate `vdev_queue_register_lastoffset()`
- Add `VDEV_LABEL_START_SIZE` to zio offset of leaf vdevs
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Gvozden Neskovic <[email protected]>
Closes #6461
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/vdev.h | 3 | ||||
-rw-r--r-- | include/sys/vdev_impl.h | 1 |
2 files changed, 1 insertions, 3 deletions
diff --git a/include/sys/vdev.h b/include/sys/vdev.h index 7157ef43f..473d2691c 100644 --- a/include/sys/vdev.h +++ b/include/sys/vdev.h @@ -125,8 +125,7 @@ extern zio_t *vdev_queue_io(zio_t *zio); extern void vdev_queue_io_done(zio_t *zio); extern int vdev_queue_length(vdev_t *vd); -extern uint64_t vdev_queue_lastoffset(vdev_t *vd); -extern void vdev_queue_register_lastoffset(vdev_t *vd, zio_t *zio); +extern uint64_t vdev_queue_last_offset(vdev_t *vd); extern void vdev_config_dirty(vdev_t *vd); extern void vdev_config_clean(vdev_t *vd); diff --git a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h index 7c5e54b08..4c2e3cd2e 100644 --- a/include/sys/vdev_impl.h +++ b/include/sys/vdev_impl.h @@ -127,7 +127,6 @@ struct vdev_queue { hrtime_t vq_io_delta_ts; zio_t vq_io_search; /* used as local for stack reduction */ kmutex_t vq_lock; - uint64_t vq_lastoffset; }; /* |