Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1380119

Re: [PATCH 41/42] block: do not use REQ_FLUSH for tracking flush support

From Mike Christie <mchristi@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH 41/42] block: do not use REQ_FLUSH for tracking flush support
Date 2016-04-15 21:00 +0200
Message-ID <roh8e-7AR-5@gated-at.bofh.it> (permalink)
References <ro9u1-1AH-5@gated-at.bofh.it> <ro9u3-1AH-41@gated-at.bofh.it> <ro9DI-1Ev-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 04/15/2016 05:50 AM, Juergen Gross wrote:
> On 15/04/16 12:40, mchristi@redhat.com wrote:
>> From: Mike Christie <mchristi@redhat.com>
>>
>> The last patch added a REQ_OP_FLUSH for request_fn drivers
>> and the next patch renames REQ_FLUSH to REQ_PREFLUSH which
>> will be used by file systems and make_request_fn drivers so
>> they can send a write/flush combo.
>>
>> This patch drops xen's use of REQ_FLUSH to track if it supports
>> REQ_OP_FLUSH requests, so REQ_FLUSH can be deleted.
>>
>> v6:
>> - Dropped parts of patch handled by Jens's QUEUE_FLAG_WC/FUA
>> patches and modified patch to check feature_flush/fua bits.
>>
>> Signed-off-by: Mike Christie <mchristi@redhat.com>
>> Reviewed-by: Hannes Reinecke <hare@suse.com>
>> ---
>>  drivers/block/xen-blkfront.c | 47 ++++++++++++++++++++++----------------------
>>  1 file changed, 24 insertions(+), 23 deletions(-)
>>
>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
>> index f01691a..d6429e7 100644
>> --- a/drivers/block/xen-blkfront.c
>> +++ b/drivers/block/xen-blkfront.c
> 
> ...
> 
>> @@ -985,24 +981,22 @@ static int xlvbd_init_blk_queue(struct gendisk *gd, u16 sector_size,
>>  	return 0;
>>  }
>>  
>> -static const char *flush_info(unsigned int feature_flush)
>> +static const char *flush_info(struct blkfront_info *info)
>>  {
>> -	switch (feature_flush & ((REQ_FLUSH | REQ_FUA))) {
>> -	case REQ_FLUSH|REQ_FUA:
>> +	if (info->feature_flush && info->feature_fua)
>>  		return "barrier: enabled;";
>> -	case REQ_FLUSH:
>> +	else if (info->feature_fua)
> 
> Shouldn't this test feature_flush?
> 
>>  		return "flush diskcache: enabled;";
>> -	default:
>> +	else
>>  		return "barrier or flush: disabled;";
>> -	}
>>  }
>>  
>>  static void xlvbd_flush(struct blkfront_info *info)
>>  {
>> -	blk_queue_write_cache(info->rq, info->feature_flush & REQ_FLUSH,
>> -				info->feature_flush & REQ_FUA);
>> +	blk_queue_write_cache(info->rq, info->feature_flush ? true : false,
>> +			      info->feature_flush ? true : false);
> 
> And here the second test should be feature_fua?
> 

You are right. Will fix up and resend.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/42] v6: separate operations from flags in the bio/request structs mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 16/42] nilfs: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 10/42] btrfs: use bio fields for op and flags mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 35/42] blktrace: get op from req->op/bio->bi_op mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 05/42] fs: have ll_rw_block users pass in op and flags separately mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 29/42] block: prepare elevator to use REQ_OPs. mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 23/42] md/raid: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 38/42] block, fs: remove old REQ definitions. mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 41/42] block: do not use REQ_FLUSH for tracking flush support mchristi@redhat.com - 2016-04-15 12:50 +0200
    Re: [PATCH 41/42] block: do not use REQ_FLUSH for tracking flush  support Juergen Gross <kernel@pfupf.net> - 2016-04-15 13:00 +0200
      Re: [PATCH 41/42] block: do not use REQ_FLUSH for tracking flush  support Mike Christie <mchristi@redhat.com> - 2016-04-15 21:00 +0200
  [PATCH 42/42] block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 36/42] ide cd: do not set REQ_WRITE on requests. mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 40/42] block, drivers: add REQ_OP_FLUSH operation mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 19/42] dm: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 12:50 +0200
  [PATCH 34/42] drivers: set request op to REQ_OP mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 33/42] block: convert rq_data_dir helper to use REQ_OPs mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 26/42] block: copy bio op to request op mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 30/42] blkg_rwstat: separate op from flags mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 37/42] block, fs, drivers: do use bi_rw/cmd_flags for REQ_OPs. mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 32/42] block: convert is_sync helpers to use REQ_OPs. mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 31/42] block: convert merge/insert code to check for REQ_OPs. mchristi@redhat.com - 2016-04-15 13:00 +0200
  [PATCH 22/42] drbd: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:10 +0200
  [PATCH 27/42] block: prepare request creation/destruction code to use REQ_OPs mchristi@redhat.com - 2016-04-15 13:10 +0200
  [PATCH 28/42] block: prepare mq request creation to use REQ_OPs mchristi@redhat.com - 2016-04-15 13:10 +0200
  [PATCH 25/42] target: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:10 +0200
  [PATCH 24/42] xen: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:10 +0200
  [PATCH 21/42] bcache: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:10 +0200
  [PATCH 08/42] btrfs: set bi_op tp REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 20/42] dm: pass dm stats data dir instead of bi_rw mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 12/42] gfs2: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 17/42] ocfs2: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 13/42] xfs: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 06/42] direct-io: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 07/42] btrfs: have submit_one_bio users setup bio bi_op mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 11/42] f2fs: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 18/42] pm: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 09/42] btrfs: update __btrfs_map_block for bi_op transition mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 15/42] mpage: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 03/42] block, fs, mm, drivers: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 14/42] hfsplus: set bi_op to REQ_OP mchristi@redhat.com - 2016-04-15 13:20 +0200
  [PATCH 04/42] fs: have submit_bh users pass in op and flags separately mchristi@redhat.com - 2016-04-15 13:20 +0200
    Re: [dm-devel] [PATCH 04/42] fs: have submit_bh users pass in op  and flags separately Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> - 2016-04-18 18:40 +0200
  [PATCH 02/42] block: add REQ_OP definitions and bi_op/op fields mchristi@redhat.com - 2016-04-15 13:30 +0200

csiph-web