mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-02 18:54:10 +08:00
drbd: detach must not try to abort non-local requests
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
parent
f497609e4c
commit
97ddb68790
@ -501,6 +501,8 @@ void tl_abort_disk_io(struct drbd_conf *mdev)
|
||||
while (b) {
|
||||
list_for_each_safe(le, tle, &b->requests) {
|
||||
req = list_entry(le, struct drbd_request, tl_requests);
|
||||
if (!(req->rq_state & RQ_LOCAL_PENDING))
|
||||
continue;
|
||||
if (req->w.mdev == mdev)
|
||||
_req_mod(req, ABORT_DISK_IO);
|
||||
}
|
||||
@ -509,6 +511,8 @@ void tl_abort_disk_io(struct drbd_conf *mdev)
|
||||
|
||||
list_for_each_safe(le, tle, &tconn->barrier_acked_requests) {
|
||||
req = list_entry(le, struct drbd_request, tl_requests);
|
||||
if (!(req->rq_state & RQ_LOCAL_PENDING))
|
||||
continue;
|
||||
if (req->w.mdev == mdev)
|
||||
_req_mod(req, ABORT_DISK_IO);
|
||||
}
|
||||
|
@ -436,6 +436,7 @@ int __req_mod(struct drbd_request *req, enum drbd_req_event what,
|
||||
|
||||
/* so we can verify the handle in the answer packet
|
||||
* corresponding hlist_del is in _req_may_be_done() */
|
||||
D_ASSERT(drbd_interval_empty(&req->i));
|
||||
drbd_insert_interval(&mdev->read_requests, &req->i);
|
||||
|
||||
set_bit(UNPLUG_REMOTE, &mdev->flags);
|
||||
@ -453,6 +454,7 @@ int __req_mod(struct drbd_request *req, enum drbd_req_event what,
|
||||
/* from __drbd_make_request only */
|
||||
|
||||
/* corresponding hlist_del is in _req_may_be_done() */
|
||||
D_ASSERT(drbd_interval_empty(&req->i));
|
||||
drbd_insert_interval(&mdev->write_requests, &req->i);
|
||||
|
||||
/* NOTE
|
||||
|
Loading…
Reference in New Issue
Block a user