On 06/06/2016 01:46 AM, Hannes Reinecke wrote: > On 06/05/2016 09:32 PM, mchristi@xxxxxxxxxx wrote: >> From: Mike Christie <mchristi@xxxxxxxxxx> >> >> 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 <mchristi@xxxxxxxxxx> >> --- >> 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; } -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel