Re: [PATCH 1/9] blk: Do not abort requests if queue is stopped

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/04/2010 11:52 PM, Mike Anderson wrote:
Jens Axboe<jens.axboe@xxxxxxxxxx>  wrote:
On Mon, May 03 2010, Mike Anderson wrote:
If the queue is stopped it could be an indication that other recovery is
happening in this case skip the blk_abort_request.

Signed-off-by: Mike Anderson<andmike@xxxxxxxxxxxxxxxxxx>
Cc: Jens Axobe<jens.axboe@xxxxxxxxxx>
---
  block/blk-timeout.c |    3 ++-
  1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/block/blk-timeout.c b/block/blk-timeout.c
index 1ba7e0a..89fbe0a 100644
--- a/block/blk-timeout.c
+++ b/block/blk-timeout.c
@@ -224,7 +224,8 @@ void blk_abort_queue(struct request_queue *q)
  	list_splice_init(&q->timeout_list,&list);

  	list_for_each_entry_safe(rq, tmp,&list, timeout_list)
-		blk_abort_request(rq);
+		if (!blk_queue_stopped(q))
+			blk_abort_request(rq);

  	/*
  	 * Occasionally, blk_abort_request() will return without

That seems like a bit of a mixup, what ties a stopped queue to recovery?

This was coding to SCSI behavior again. I tried to reduce the case of
waking the eh if the transport moved the target into a blocked state. It
might be redundant as FC has eh blocking and timer_reset. iSCSI has
blocking but not eh blocking.

All iscsi drivers should have blocking and timer reset now, so if a transport problem casues a IO error to be sent to dm, then when blk_abort_request is called that should prevent the scsi layer from sending the whole host into recovery.


I do not remember the problem with the lack of eh blocking though. Did we need that too?
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux