[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D931292.8050104@kernel.dk>
Date: Wed, 30 Mar 2011 13:22:58 +0200
From: Jens Axboe <axboe@...nel.dk>
To: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
CC: Tejun Heo <tj@...nel.org>, Vivek Goyal <vgoyal@...hat.com>,
Jeff Moyer <jmoyer@...hat.com>,
Mike Snitzer <snitzer@...hat.com>,
Markus Trippelsdorf <markus@...ppelsdorf.de>,
linux-kernel@...r.kernel.org, Chris Mason <chris.mason@...cle.com>
Subject: Re: [PATCH] block: eliminate ELEVATOR_INSERT_REQUEUE
On 2011-03-30 13:21, Sergey Senozhatsky wrote:
> Hello,
>
> On (03/30/11 12:16), Jens Axboe wrote:
>> How does this look? It's really two patches, but rolled up into one for
>> easier posting here.
>>
>
> Nope, doesn't work for me. fsck.ext4 crashed the system.
>
> __elv_add_request
> blk_flush_complete_seq
> blk_insert_flush
> __elv_add_request
> __make_request
> generic_make_request
> ?bio_alloc_bioset
> blkdev_issue_flush
> blkdev_fsync
> vfs_fsync
> [..]
Ah, this addon should behave better.
diff --git a/block/blk-flush.c b/block/blk-flush.c
index 6a16fea..eba4a27 100644
--- a/block/blk-flush.c
+++ b/block/blk-flush.c
@@ -261,7 +261,7 @@ static bool blk_kick_flush(struct request_queue *q)
q->flush_rq.end_io = flush_end_io;
q->flush_pending_idx ^= 1;
- __elv_add_request(q, &q->flush_rq, ELEVATOR_INSERT_FLUSH);
+ list_add_tail(&q->flush_rq.queuelist, &q->queue_head);
return true;
}
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists