On 29.09.2017 11:00, Qu Wenruo wrote:
> 
> 
> On 2017年09月29日 15:15, Nikolay Borisov wrote:
>> Hello,
>>
>>
>> I've been studying the implementation of the delayed inodes feature and
>> have a couple of questions.
> 
> Sorry I can't answer your question, but as you may already know by the
> rejection mail, Miao Xie has left Fujitsu and has been for several years.
> 
> And I'm not sure if he still checks btrfs mail list, so you may be on
> your own.
> 
> So to avoid such situation, it would be better to maintain a wiki page
> for such less maintained features, about it design principle and
> possible corner cases.
> 
> This will make later developers quite happy.
> (personally speaking, this should be done before coding)

I'm asking the question exactly because I'm in the process of creating
said documentation.

> 
> Thanks,
> Qu
>>
>> 1. Why are there 2 lists when each and every node is on both lists at
>> the same time? So if we happen to be running the async worker we are
>> processing nodes based on the prepared_list, at the same time if there
>> is a concurent transaction commit happening then the exact some nodes
>> are going to be processed from the node_list - it's not a functional
>> problem but the presence of 2 lists and each node being on the same list
>> at the same time just seems a bit redundant.
>>
>> 2. in btrfs_next_delayed_node can this code really trigger:
>>
>>   if (!test_bit(BTRFS_DELAYED_NODE_IN_LIST, &node->flags)) {
>>                  /* not in the list */
>>
>>                  if (list_empty(&delayed_root->node_list))
>>
>>                          goto out;
>>
>>                  p = delayed_root->node_list.next;
>>
>> In order for !test_bit(BTRFS_DELAYED_NODE_IN_LIST, &node->flags) to be
>> true this means this node should have been btrfs_dequeue_delayed_node
>> underneath us? Can this really happen e.g. have multiple concurrent
>> __btrfs_run_delayed_items executions?
>> -- 
>> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to