[Drbd-dev] [PATCH 28/45] target: use bio op accessors

Hannes Reinecke hare at suse.de
Mon Jun 6 17:43:28 CEST 2016


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 at redhat.com wrote:
>>> From: Mike Christie <mchristi at redhat.com>
>>>
>>> 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 at redhat.com>
>>> ---
>>>   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 at suse.com>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare at suse.de			      +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)


More information about the drbd-dev mailing list