xfs
[Top] [All Lists]

Re: [PATCH 28/45] target: use bio op accessors

To: Mike Christie <mchristi@xxxxxxxxxx>, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, konrad.wilk@xxxxxxxxxx, drbd-dev@xxxxxxxxxxxxxxxx, philipp.reisner@xxxxxxxxxx, lars.ellenberg@xxxxxxxxxx, linux-raid@xxxxxxxxxxxxxxx, dm-devel@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-bcache@xxxxxxxxxxxxxxx, linux-block@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-mtd@xxxxxxxxxxxxxxxxxxx, target-devel@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, osd-dev@xxxxxxxxxxxx, xfs@xxxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx
Subject: Re: [PATCH 28/45] target: use bio op accessors
From: Hannes Reinecke <hare@xxxxxxx>
Date: Mon, 6 Jun 2016 17:43:28 +0200
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <57559973.1020105@xxxxxxxxxx>
References: <1465155145-10812-1-git-send-email-mchristi@xxxxxxxxxx> <1465155145-10812-29-git-send-email-mchristi@xxxxxxxxxx> <57551C57.5090507@xxxxxxx> <57559973.1020105@xxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0
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, 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;
}




Indeed, you are correct.

Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>

Cheers,

Hannes
--
Dr. Hannes Reinecke                   zSeries & Storage
hare@xxxxxxx                          +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)

<Prev in Thread] Current Thread [Next in Thread>