[PATCH linux-2.6-block:post-2.6.15 00/10] blk: reimplementation of I/O barrier

From: Tejun Heo
Date: Thu Nov 17 2005 - 10:36:16 EST

Hello, Jens, James, Jeff and Bartlomiej.

This is the fifth posting of blk ordered reimplementation. The
last posting was on 19th, Oct.


The generic dispatch queue patchset which is required for this ordered
patchset has made it into the main tree.


Changes from the previous post are...

* As core blk files have moved from drivers/block/ to block/, patches
are updated accordingly.

* In 04_blk_scsi-update-ordered, sd_prepare_flush() is updated to
initialize rq->cmd_len properly. This used to work like this
previously but something broke it. Note that the original flush
code is broken too. James, can you please verify this?

* libata has gone through some changes since last posting. libata
updates are rewritten. Jeff, please review #07 and #08.

Other than above three, nothing has changed. Jens, after reviewing,
can we push these into -mm?

Thanks. :-)

[ Start of patch descriptions ]

: add @uptodate to end_that_request_last() and @error to rq_end_io_fn()

Add @uptodate argument to end_that_request_last() and @error
to rq_end_io_fn(). There's no generic way to pass error code
to request completion function, making generic error handling
of non-fs request difficult (rq->errors is driver-specific and
each driver uses it differently). This patch adds @uptodate
to end_that_request_last() and @error to rq_end_io_fn().

For fs requests, this doesn't really matter, so just using the
same uptodate argument used in the last call to
end_that_request_first() should suffice. IMHO, this can also
help the generic command-carrying request Jens is working on.

: separate out bio init part from __make_request

Separate out bio initialization part from __make_request. It
will be used by the following blk_ordered_reimpl.

: reimplement handling of barrier request

Reimplement handling of barrier requests.

* Flexible handling to deal with various capabilities of
target devices.
* Retry support for falling back.
* Tagged queues which don't support ordered tag can do ordered.

: update SCSI to use new blk_ordered

All ordered request related stuff delegated to HLD. Midlayer
now doens't deal with ordered setting or prepare_flush
callback. sd.c updated to deal with blk_queue_ordered
setting. Currently, ordered tag isn't used as SCSI midlayer
cannot guarantee request ordering.

: add FUA support to SCSI disk

Add FUA support to SCSI disk.

: update libata to use new blk_ordered

Reflect changes in SCSI midlayer and updated to use new
ordered request implementation

: add FUA support to libata

Add FUA support to libata.

: update IDE to use new blk_ordered

Update IDE to use new blk_ordered.

: add FUA support to IDE

Add FUA support to IDE

: I/O barrier documentation

I/O barrier documentation

[ End of patch descriptions ]


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/