Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Acked-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Родитель
70cee26e02
Коммит
c0613c1c94
|
@ -82,23 +82,12 @@ including draining and flushing.
|
||||||
typedef void (prepare_flush_fn)(request_queue_t *q, struct request *rq);
|
typedef void (prepare_flush_fn)(request_queue_t *q, struct request *rq);
|
||||||
|
|
||||||
int blk_queue_ordered(request_queue_t *q, unsigned ordered,
|
int blk_queue_ordered(request_queue_t *q, unsigned ordered,
|
||||||
prepare_flush_fn *prepare_flush_fn,
|
prepare_flush_fn *prepare_flush_fn);
|
||||||
unsigned gfp_mask);
|
|
||||||
|
|
||||||
int blk_queue_ordered_locked(request_queue_t *q, unsigned ordered,
|
|
||||||
prepare_flush_fn *prepare_flush_fn,
|
|
||||||
unsigned gfp_mask);
|
|
||||||
|
|
||||||
The only difference between the two functions is whether or not the
|
|
||||||
caller is holding q->queue_lock on entry. The latter expects the
|
|
||||||
caller is holding the lock.
|
|
||||||
|
|
||||||
@q : the queue in question
|
@q : the queue in question
|
||||||
@ordered : the ordered mode the driver/device supports
|
@ordered : the ordered mode the driver/device supports
|
||||||
@prepare_flush_fn : this function should prepare @rq such that it
|
@prepare_flush_fn : this function should prepare @rq such that it
|
||||||
flushes cache to physical medium when executed
|
flushes cache to physical medium when executed
|
||||||
@gfp_mask : gfp_mask used when allocating data structures
|
|
||||||
for ordered processing
|
|
||||||
|
|
||||||
For example, SCSI disk driver's prepare_flush_fn looks like the
|
For example, SCSI disk driver's prepare_flush_fn looks like the
|
||||||
following.
|
following.
|
||||||
|
@ -106,9 +95,10 @@ following.
|
||||||
static void sd_prepare_flush(request_queue_t *q, struct request *rq)
|
static void sd_prepare_flush(request_queue_t *q, struct request *rq)
|
||||||
{
|
{
|
||||||
memset(rq->cmd, 0, sizeof(rq->cmd));
|
memset(rq->cmd, 0, sizeof(rq->cmd));
|
||||||
rq->flags |= REQ_BLOCK_PC;
|
rq->cmd_type = REQ_TYPE_BLOCK_PC;
|
||||||
rq->timeout = SD_TIMEOUT;
|
rq->timeout = SD_TIMEOUT;
|
||||||
rq->cmd[0] = SYNCHRONIZE_CACHE;
|
rq->cmd[0] = SYNCHRONIZE_CACHE;
|
||||||
|
rq->cmd_len = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
The following seven ordered modes are supported. The following table
|
The following seven ordered modes are supported. The following table
|
||||||
|
|
Загрузка…
Ссылка в новой задаче