Re: [PATCH v2 3/9] nilfs2: introduce new feature flag for tracking live blocks

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

 



On 2015-05-09 04:28, Ryusuke Konishi wrote:
> On Sun,  3 May 2015 12:05:16 +0200, Andreas Rohner wrote:
>> This patch introduces a new file system feature flag
>> NILFS_FEATURE_COMPAT_TRACK_LIVE_BLKS. If it is enabled, the file system
>> will keep track of the number of live blocks per segment. This
>> information can be used by the GC to select segments for cleaning more
>> efficiently.
> 
> Please describe the reason why you separated
> NILFS_FEATURE_COMPAT_TRACK_LIVE_BLKS and
> NILFS_FEATURE_COMPAT_SUFILE_LIVE_BLKS_EXT that you mentioned before
> in the commit log.

Yes sure.

Regards,
Andreas Rohner

>>
>> Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx>
>> ---
>>  fs/nilfs2/the_nilfs.h     | 8 ++++++++
>>  include/linux/nilfs2_fs.h | 4 +++-
>>  2 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/nilfs2/the_nilfs.h b/fs/nilfs2/the_nilfs.h
>> index 12cd91d..d755b6b 100644
>> --- a/fs/nilfs2/the_nilfs.h
>> +++ b/fs/nilfs2/the_nilfs.h
>> @@ -401,4 +401,12 @@ static inline int nilfs_flush_device(struct the_nilfs *nilfs)
>>  	return err;
>>  }
>>  
>> +static inline int nilfs_feature_track_live_blks(struct the_nilfs *nilfs)
>> +{
>> +	const __u64 required_bits = NILFS_FEATURE_COMPAT_TRACK_LIVE_BLKS |
>> +				    NILFS_FEATURE_COMPAT_SUFILE_LIVE_BLKS_EXT;
>> +
>> +	return ((nilfs->ns_feature_compat & required_bits) == required_bits);
>> +}
>> +
>>  #endif /* _THE_NILFS_H */
>> diff --git a/include/linux/nilfs2_fs.h b/include/linux/nilfs2_fs.h
>> index 4800daa..5f05bbf 100644
>> --- a/include/linux/nilfs2_fs.h
>> +++ b/include/linux/nilfs2_fs.h
>> @@ -221,11 +221,13 @@ struct nilfs_super_block {
>>   * doesn't know about, it should refuse to mount the filesystem.
>>   */
>>  #define NILFS_FEATURE_COMPAT_SUFILE_LIVE_BLKS_EXT	BIT(0)
>> +#define NILFS_FEATURE_COMPAT_TRACK_LIVE_BLKS		BIT(1)
> 
> Ditto.  Avoid using BIT macro in nilfs2_fs.h for now.
> 
> Regards,
> Ryusuke Konishi
> 
>>  #define NILFS_FEATURE_COMPAT_RO_BLOCK_COUNT		BIT(0)
>>  
>>  #define NILFS_FEATURE_COMPAT_SUPP					\
>> -			(NILFS_FEATURE_COMPAT_SUFILE_LIVE_BLKS_EXT)
>> +			(NILFS_FEATURE_COMPAT_SUFILE_LIVE_BLKS_EXT |	\
>> +			 NILFS_FEATURE_COMPAT_TRACK_LIVE_BLKS)
>>  #define NILFS_FEATURE_COMPAT_RO_SUPP	NILFS_FEATURE_COMPAT_RO_BLOCK_COUNT
>>  #define NILFS_FEATURE_INCOMPAT_SUPP	0ULL
>>  
>> -- 
>> 2.3.7
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux