Re: [PATCH 10/14] bcache: add BCH_FEATURE_INCOMPAT_NVDIMM_META into incompat feature set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/22/21 6:59 PM, Hannes Reinecke wrote:
> On 6/15/21 7:49 AM, Coly Li wrote:
>> This patch adds BCH_FEATURE_INCOMPAT_NVDIMM_META (value 0x0004) into the
>> incompat feature set. When this bit is set by bcache-tools, it indicates
>> bcache meta data should be stored on specific NVDIMM meta device.
>>
>> The bcache meta data mainly includes journal and btree nodes, when this
>> bit is set in incompat feature set, bcache will ask the nvm-pages
>> allocator for NVDIMM space to store the meta data.
>>
>> Signed-off-by: Coly Li <colyli@xxxxxxx>
>> Cc: Jianpeng Ma <jianpeng.ma@xxxxxxxxx>
>> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx>
>> ---
>>  drivers/md/bcache/features.h | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/md/bcache/features.h b/drivers/md/bcache/features.h
>> index d1c8fd3977fc..45d2508d5532 100644
>> --- a/drivers/md/bcache/features.h
>> +++ b/drivers/md/bcache/features.h
>> @@ -17,11 +17,19 @@
>>  #define BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET		0x0001
>>  /* real bucket size is (1 << bucket_size) */
>>  #define BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE	0x0002
>> +/* store bcache meta data on nvdimm */
>> +#define BCH_FEATURE_INCOMPAT_NVDIMM_META		0x0004
>>  
>>  #define BCH_FEATURE_COMPAT_SUPP		0
>>  #define BCH_FEATURE_RO_COMPAT_SUPP	0
>> +#if defined(CONFIG_BCACHE_NVM_PAGES)
>> +#define BCH_FEATURE_INCOMPAT_SUPP	(BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET| \
>> +					 BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE| \
>> +					 BCH_FEATURE_INCOMPAT_NVDIMM_META)
>> +#else
>>  #define BCH_FEATURE_INCOMPAT_SUPP	(BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET| \
>>  					 BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE)
>> +#endif
>>  
>>  #define BCH_HAS_COMPAT_FEATURE(sb, mask) \
>>  		((sb)->feature_compat & (mask))
>> @@ -89,6 +97,7 @@ static inline void bch_clear_feature_##name(struct cache_sb *sb) \
>>  
>>  BCH_FEATURE_INCOMPAT_FUNCS(obso_large_bucket, OBSO_LARGE_BUCKET);
>>  BCH_FEATURE_INCOMPAT_FUNCS(large_bucket, LOG_LARGE_BUCKET_SIZE);
>> +BCH_FEATURE_INCOMPAT_FUNCS(nvdimm_meta, NVDIMM_META);
>>  
>>  static inline bool bch_has_unknown_compat_features(struct cache_sb *sb)
>>  {
>>
> Reviewed-by: Hannes Reinecke <hare@xxxxxxx>

Thanks for your review.

Coly Li



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux