diff options
author | Gvozden Neskovic <[email protected]> | 2017-08-04 11:29:56 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2017-08-21 10:05:16 -0700 |
commit | d6c6590c5dd727832a58e77f7830049631b0c266 (patch) | |
tree | 8c93caff9a7b52c60764fc355f2931b1265e4697 /include | |
parent | 133a5c6598ddc858f5b7ecedaf1364fcfe2e477f (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; }; /* |