diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2014-05-06 00:44:59 +0200 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2014-07-10 18:35:15 +0200 |
commit | 4ce4926683b820c5c85b8033891dbfb53cc8754f (patch) | |
tree | 9e9c24f1f3d6cb5ffc1b723bc2b2d9c472e49cbf /drivers/block/drbd/drbd_int.h | |
parent | c5a2c1509ea55d074bf0cd8ff0679b247f70cbe3 (diff) |
drbd: track details of bitmap IO
Track start and submit time of bitmap operations, and
add pending bitmap IO contexts to a new pending_bitmap_io list.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r-- | drivers/block/drbd/drbd_int.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index c7a409f3aaf8..40c816ce8d75 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h @@ -777,6 +777,7 @@ struct drbd_peer_device { struct drbd_device { struct drbd_resource *resource; struct list_head peer_devices; + struct list_head pending_bitmap_io; int vnr; /* volume number within the connection */ struct kref kref; @@ -918,6 +919,21 @@ struct drbd_device { struct submit_worker submit; }; +struct drbd_bm_aio_ctx { + struct drbd_device *device; + struct list_head list; /* on device->pending_bitmap_io */; + unsigned long start_jif; + atomic_t in_flight; + unsigned int done; + unsigned flags; +#define BM_AIO_COPY_PAGES 1 +#define BM_AIO_WRITE_HINTED 2 +#define BM_AIO_WRITE_ALL_PAGES 4 +#define BM_AIO_READ 8 + int error; + struct kref kref; +}; + struct drbd_config_context { /* assigned from drbd_genlmsghdr */ unsigned int minor; |