On Fri, Aug 27 2010 at 1:10pm -0400, Tejun Heo <tj@xxxxxxxxxx> wrote: > This patch converts dm to support REQ_FLUSH/FUA instead of now > deprecated REQ_HARDBARRIER. Thanks for your continued work on this! > * As __blk_rq_prep_clone() copies REQ_FUA, just advertising FUA > support is enough to pass through REQ_FUA to targets. You're doing blk_queue_flush(md->queue, REQ_FLUSH | REQ_FUA); in 2 places: 1) generic dm_init_md_queue -- used for bio-based and request-based 2) request-based specific dm_init_request_based_queue. Interestingly, we never used the old blk_queue_ordered() method for bio-based DM yet it is now using blk_queue_flush(). But how can we blindly assume/advertise REQ_FUA? Should we be taking more care to check each block device that DM consumes to see if FUA is supported and only then advertise REQ_FUA? DM already does this for discard support (see: dm_table_supports_discards). > Lightly tested linear, stripe, raid1, snap and crypt targets. I tested the bio-based code with the LVM2 test suite and all tests passed. > Please proceed with caution as I'm not familiar with the code base. As I shared in an earlier (private) mail, I'm unfortunately having problems with request-based DM (when all patches in this series are applied). I'll be working on that more. BTW, we can eliminate the dm_rq_is_flush_request() wrapper right? I think hch mentioned this at some point in one of the various threads. Mike -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel