On 06/06/2016 05:40 PM, Mike Christie wrote: > On 06/06/2016 01:46 AM, Hannes Reinecke wrote: >> On 06/05/2016 09:32 PM, [email protected] wrote: >>> From: Mike Christie <[email protected]> >>> >>> Separate the op from the rq_flag_bits and have the target layer >>> set/get the bio using bio_set_op_attrs/bio_op. >>> >>> Signed-off-by: Mike Christie <[email protected]> >>> --- >>> drivers/target/target_core_iblock.c | 29 ++++++++++++++--------------- >>> drivers/target/target_core_pscsi.c | 2 +- >>> 2 files changed, 15 insertions(+), 16 deletions(-) >>> >>> diff --git a/drivers/target/target_core_iblock.c >>> b/drivers/target/target_core_iblock.c >>> index c25109c..22af12f 100644 >>> --- a/drivers/target/target_core_iblock.c >>> +++ b/drivers/target/target_core_iblock.c >> [ .. ] >>> @@ -689,18 +690,15 @@ iblock_execute_rw(struct se_cmd *cmd, struct >>> scatterlist *sgl, u32 sgl_nents, >>> * Force writethrough using WRITE_FUA if a volatile write cache >>> * is not enabled, or if initiator set the Force Unit Access >>> bit. >>> */ >>> + op = REQ_OP_WRITE; >>> if (test_bit(QUEUE_FLAG_FUA, &q->queue_flags)) { >>> if (cmd->se_cmd_flags & SCF_FUA) >>> - rw = WRITE_FUA; >>> + op_flags = WRITE_FUA; >>> else if (!test_bit(QUEUE_FLAG_WC, &q->queue_flags)) >>> - rw = WRITE_FUA; >>> - else >>> - rw = WRITE; >>> - } else { >>> - rw = WRITE; >>> + op_flags = WRITE_FUA; >>> } >> Wrong intendation. > > It should be ok. That line is for the QUEUE_FLAG_WC test. We end up with: > > op = REQ_OP_WRITE; > if (test_bit(QUEUE_FLAG_FUA, &q->queue_flags)) { > if (cmd->se_cmd_flags & SCF_FUA) > op_flags = WRITE_FUA; > else if (!test_bit(QUEUE_FLAG_WC, &q->queue_flags)) > op_flags = WRITE_FUA; > } > > > > Indeed, you are correct.
Reviewed-by: Hannes Reinecke <[email protected]> Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
