Re: [PATCH v15 41/42] btrfs: zoned: reorder log node allocation on zoned filesystem

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

 



On 04/02/2021 16:50, David Sterba wrote:
> On Thu, Feb 04, 2021 at 02:54:25PM +0000, Johannes Thumshirn wrote:
>> On 04/02/2021 12:57, Filipe Manana wrote:
>>> On Thu, Feb 4, 2021 at 10:23 AM Naohiro Aota <naohiro.aota@xxxxxxx> wrote:
>>>> --- a/fs/btrfs/tree-log.c
>>>> +++ b/fs/btrfs/tree-log.c
>>>> @@ -3159,6 +3159,19 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
>>>>         list_add_tail(&root_log_ctx.list, &log_root_tree->log_ctxs[index2]);
>>>>         root_log_ctx.log_transid = log_root_tree->log_transid;
>>>>
>>>> +       if (btrfs_is_zoned(fs_info)) {
>>>> +               mutex_lock(&fs_info->tree_log_mutex);
>>>> +               if (!log_root_tree->node) {
>>>
>>> As commented in v14, the log root tree is not protected by
>>> fs_info->tree_log_mutex anymore.
>>> It is fs_info->tree_root->log_mutex as of 5.10.
>>>
>>> Everything else was addressed and looks good.
>>> Thanks.
>>
>> David, can you add this or should we send an incremental patch?
>> This survived fstests -g quick run with lockdep enabled.
>>
>> diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
>> index 7ba044bfa9b1..36c4a60d20dc 100644
>> --- a/fs/btrfs/tree-log.c
>> +++ b/fs/btrfs/tree-log.c
>> @@ -3160,7 +3160,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
>>         root_log_ctx.log_transid = log_root_tree->log_transid;
>>         if (btrfs_is_zoned(fs_info)) {
>> -               mutex_lock(&fs_info->tree_log_mutex);
>> +               mutex_lock(&fs_info->tree_root->log_mutex);
>>                 if (!log_root_tree->node) {
>>                         ret = btrfs_alloc_log_tree_node(trans, log_root_tree);
>>                         if (ret) {
>> @@ -3169,7 +3169,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
>>                                 goto out;
>>                         }
>>                 }
>> -               mutex_unlock(&fs_info->tree_log_mutex);
>> +               mutex_unlock(&fs_info->tree_root->log_mutex);
> 
> Folded to the patch, thanks.
> 

Thanks a lot




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux