Message ID | 20160720055637.7275-4-wangxg.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On 07/20/2016 01:56 AM, Wang Xiaoguang wrote: > In next patch, btrfs_clear_bit_hook() will not call > btrfs_free_reserved_data_space_noquota() to update btrfs_space_info's > bytes_may_use unless it has EXTENT_DO_ACCOUNTING or EXTENT_CLEAR_DATA_RESV, > as for the reason, please see the next patch for detailed info. > > As we know, usually EXTENT_DO_ACCOUNTING is used for error path. In > run_delalloc_nocow(), for inode marked as NODATACOW or extent marked as > PREALLOC, we also need to update bytes_may_use, but can not pass > EXTENT_DO_ACCOUNTING, because it also clears metadata reservation, so here > we introduce EXTENT_CLEAR_DATA_RESV flag to indicate btrfs_clear_bit_hook() > to update btrfs_space_info's bytes_may_use. > > Signed-off-by: Wang Xiaoguang <wangxg.fnst@cn.fujitsu.com> There's no point in introducing only a flag in one patch, collapse this into the patch that actually uses it. Thanks, Josef -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
hello, On 07/20/2016 09:22 PM, Josef Bacik wrote: > On 07/20/2016 01:56 AM, Wang Xiaoguang wrote: >> In next patch, btrfs_clear_bit_hook() will not call >> btrfs_free_reserved_data_space_noquota() to update btrfs_space_info's >> bytes_may_use unless it has EXTENT_DO_ACCOUNTING or >> EXTENT_CLEAR_DATA_RESV, >> as for the reason, please see the next patch for detailed info. >> >> As we know, usually EXTENT_DO_ACCOUNTING is used for error path. In >> run_delalloc_nocow(), for inode marked as NODATACOW or extent marked as >> PREALLOC, we also need to update bytes_may_use, but can not pass >> EXTENT_DO_ACCOUNTING, because it also clears metadata reservation, so >> here >> we introduce EXTENT_CLEAR_DATA_RESV flag to indicate >> btrfs_clear_bit_hook() >> to update btrfs_space_info's bytes_may_use. >> >> Signed-off-by: Wang Xiaoguang <wangxg.fnst@cn.fujitsu.com> > > There's no point in introducing only a flag in one patch, collapse > this into the patch that actually uses it. Thanks, OK Regards, Xiaoguang Wang > > Josef > > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index c0c1c4f..b52ca5d 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h @@ -20,6 +20,7 @@ #define EXTENT_DAMAGED (1U << 14) #define EXTENT_NORESERVE (1U << 15) #define EXTENT_QGROUP_RESERVED (1U << 16) +#define EXTENT_CLEAR_DATA_RESV (1U << 17) #define EXTENT_IOBITS (EXTENT_LOCKED | EXTENT_WRITEBACK) #define EXTENT_CTLBITS (EXTENT_DO_ACCOUNTING | EXTENT_FIRST_DELALLOC)
In next patch, btrfs_clear_bit_hook() will not call btrfs_free_reserved_data_space_noquota() to update btrfs_space_info's bytes_may_use unless it has EXTENT_DO_ACCOUNTING or EXTENT_CLEAR_DATA_RESV, as for the reason, please see the next patch for detailed info. As we know, usually EXTENT_DO_ACCOUNTING is used for error path. In run_delalloc_nocow(), for inode marked as NODATACOW or extent marked as PREALLOC, we also need to update bytes_may_use, but can not pass EXTENT_DO_ACCOUNTING, because it also clears metadata reservation, so here we introduce EXTENT_CLEAR_DATA_RESV flag to indicate btrfs_clear_bit_hook() to update btrfs_space_info's bytes_may_use. Signed-off-by: Wang Xiaoguang <wangxg.fnst@cn.fujitsu.com> --- fs/btrfs/extent_io.h | 1 + 1 file changed, 1 insertion(+)