From: Stefan Weinhuber Date: Fri, 11 Sep 2009 08:28:28 +0000 (+0200) Subject: [S390] dasd: fail requests when device state is less then ready X-Git-Tag: v2.6.32-rc1~734^2~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=97f604b07473669f4da52b1f859ee45e8d48d42a;p=platform%2Fkernel%2Flinux-stable.git [S390] dasd: fail requests when device state is less then ready A DASD device that is not ready or online has no defined disk layout, so all requests that arrive in such a state need to be returned as failed. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky --- diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 3f62dd5..f8445b8f 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -1699,8 +1699,11 @@ static void __dasd_process_request_queue(struct dasd_block *block) * for that. State DASD_STATE_ONLINE is normal block device * operation. */ - if (basedev->state < DASD_STATE_READY) + if (basedev->state < DASD_STATE_READY) { + while ((req = blk_fetch_request(block->request_queue))) + __blk_end_request_all(req, -EIO); return; + } /* Now we try to fetch requests from the request queue */ while (!blk_queue_plugged(queue) && (req = blk_peek_request(queue))) { if (basedev->features & DASD_FEATURE_READONLY &&