Re: [f2fs-dev] [PATCH v1 07/12] f2fs: cache: use node cache
Chao Yu via Linux-f2fs-devel <[email protected]>
| Newsgroups | net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/23/26 20:57, Wenjie Qi wrote:
> Hi Chao,
>
>> entry = fn->entry;
>> f2fs_cache_get(entry);
>> spin_unlock_irqrestore(&sbi->fsync_node_lock, flags);
>>
>> f2fs_cache_wait_writeback(entry);
>
> The entry reference keeps the entry allocated, but the waiter does not hold
> the entry lock. After WRITEBACK is cleared, invalidation can detach the
> entry and set `entry->cache` to NULL. `f2fs_cache_wait_writeback()` checks
> and uses `entry->cache` through separate accesses.
>
> Does the reference taken here also guarantee that the parent cache remains
> attached across the wait helper's check and use?
Do you mean race like this?
- f2fs_wait_on_node_caches_writeback
- f2fs_cache_get
- f2fs_cache_wait_writeback
- checked entry->cache, it's valid
- f2fs_truncate_cache
- f2fs_do_truncate_cache
- entry->cache = NULL
- f2fs_cache_wait_writeback_cond accesses
invalid entry->cache
Thanks,
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel