drbd: Turn tl_apply() into tl_abort_disk_io()

There is no need to overly generalize this function; it only makes the code
harder to understand.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
Andreas Gruenbacher 2011-07-17 23:06:12 +02:00 committed by Philipp Reisner
parent 1b7ab15b11
commit 71fc7eedb3
2 changed files with 6 additions and 11 deletions

View File

@ -484,28 +484,23 @@ void tl_restart(struct drbd_tconn *tconn, enum drbd_req_event what)
} }
/** /**
* tl_apply() - Applies an event to all requests for a certain mdev in the TL * tl_abort_disk_io() - Abort disk I/O for all requests for a certain mdev in the TL
* @mdev: DRBD device. * @mdev: DRBD device.
* @what: The action/event to perform with all request objects
*
* @what might ony be ABORT_DISK_IO.
*/ */
void tl_apply(struct drbd_conf *mdev, enum drbd_req_event what) void tl_abort_disk_io(struct drbd_conf *mdev)
{ {
struct drbd_tconn *tconn = mdev->tconn; struct drbd_tconn *tconn = mdev->tconn;
struct drbd_tl_epoch *b; struct drbd_tl_epoch *b;
struct list_head *le, *tle; struct list_head *le, *tle;
struct drbd_request *req; struct drbd_request *req;
D_ASSERT(what == ABORT_DISK_IO);
spin_lock_irq(&tconn->req_lock); spin_lock_irq(&tconn->req_lock);
b = tconn->oldest_tle; b = tconn->oldest_tle;
while (b) { while (b) {
list_for_each_safe(le, tle, &b->requests) { list_for_each_safe(le, tle, &b->requests) {
req = list_entry(le, struct drbd_request, tl_requests); req = list_entry(le, struct drbd_request, tl_requests);
if (req->w.mdev == mdev) if (req->w.mdev == mdev)
_req_mod(req, what); _req_mod(req, ABORT_DISK_IO);
} }
b = b->next; b = b->next;
} }
@ -513,7 +508,7 @@ void tl_apply(struct drbd_conf *mdev, enum drbd_req_event what)
list_for_each_safe(le, tle, &tconn->barrier_acked_requests) { list_for_each_safe(le, tle, &tconn->barrier_acked_requests) {
req = list_entry(le, struct drbd_request, tl_requests); req = list_entry(le, struct drbd_request, tl_requests);
if (req->w.mdev == mdev) if (req->w.mdev == mdev)
_req_mod(req, what); _req_mod(req, ABORT_DISK_IO);
} }
spin_unlock_irq(&tconn->req_lock); spin_unlock_irq(&tconn->req_lock);

View File

@ -30,7 +30,7 @@
#include "drbd_req.h" #include "drbd_req.h"
/* in drbd_main.c */ /* in drbd_main.c */
extern void tl_apply(struct drbd_conf *mdev, enum drbd_req_event what); extern void tl_abort_disk_io(struct drbd_conf *mdev);
struct after_state_chg_work { struct after_state_chg_work {
struct drbd_work w; struct drbd_work w;
@ -1319,7 +1319,7 @@ static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
/* Immediately allow completion of all application IO, that waits /* Immediately allow completion of all application IO, that waits
for completion from the local disk. */ for completion from the local disk. */
tl_apply(mdev, ABORT_DISK_IO); tl_abort_disk_io(mdev);
/* current state still has to be D_FAILED, /* current state still has to be D_FAILED,
* there is only one way out: to D_DISKLESS, * there is only one way out: to D_DISKLESS,