åå: Re: [RFC PATCH 0/8] dax: Add a dax-rmap tree to support reflink

From: Ruan, Shiyang
Date: Tue Apr 28 2020 - 02:10:13 EST



å 2020/4/27 20:28:36, "Matthew Wilcox" <willy@xxxxxxxxxxxxx> åé:

>On Mon, Apr 27, 2020 at 04:47:42PM +0800, Shiyang Ruan wrote:
>> This patchset is a try to resolve the shared 'page cache' problem for
>> fsdax.
>>
>> In order to track multiple mappings and indexes on one page, I
>> introduced a dax-rmap rb-tree to manage the relationship. A dax entry
>> will be associated more than once if is shared. At the second time we
>> associate this entry, we create this rb-tree and store its root in
>> page->private(not used in fsdax). Insert (->mapping, ->index) when
>> dax_associate_entry() and delete it when dax_disassociate_entry().
>
>Do we really want to track all of this on a per-page basis? I would
>have thought a per-extent basis was more useful. Essentially, create
>a new address_space for each shared extent. Per page just seems like
>a huge overhead.
>
Per-extent tracking is a nice idea for me. I haven't thought of it
yet...

But the extent info is maintained by filesystem. I think we need a way
to obtain this info from FS when associating a page. May be a bit
complicated. Let me think about it...


--
Thanks,
Ruan Shiyang.