On Wed, 25 Aug 2010 13:22:26 +0200 Tejun Heo <tj@xxxxxxxxxx> wrote: > This patch converts md to support REQ_FLUSH/FUA instead of now > deprecated REQ_HARDBARRIER. In the core part (md.c), the following > changes are notable. > > * Unlike REQ_HARDBARRIER, REQ_FLUSH/FUA don't interfere with > processing of other requests and thus there is no reason to mark the > queue congested while FLUSH/FUA is in progress. > > * REQ_FLUSH/FUA failures are final and its users don't need retry > logic. Retry logic is removed. > > * Preflush needs to be issued to all member devices but FUA writes can > be handled the same way as other writes - their processing can be > deferred to request_queue of member devices. md_barrier_request() > is renamed to md_flush_request() and simplified accordingly. > > For linear, raid0 and multipath, the core changes are enough. raid1, > 5 and 10 need the following conversions. > > * raid1: Handling of FLUSH/FUA bio's can simply be deferred to > request_queues of member devices. Barrier related logic removed. > > * raid5: Queue draining logic dropped. FUA bit is propagated through > biodrain and stripe resconstruction such that all the updated parts > of the stripe are written out with FUA writes if any of the dirtying > writes was FUA. preread_active_stripes handling in make_request() > is updated as suggested by Neil Brown. > > * raid10: FUA bit needs to be propagated to write clones. > > linear, raid0, 1, 5 and 10 tested. > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> > Cc: Neil Brown <neilb@xxxxxxx> > --- > Rebased on top of -rc2 and updated as suggested. Can you please > review and ack it? Reviewed-by: NeilBrown <neilb@xxxxxxx> Thanks! NeilBrown -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html