[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f8badd23-1468-8d8c-8431-4db0c23232d0@tcl.com>
Date: Mon, 25 Jan 2021 10:39:52 +0800
From: "wu-yan@....com" <wu-yan@....com>
To: Alessio Balsini <balsini@...roid.com>
CC: <akailash@...gle.com>, <amir73il@...il.com>, <axboe@...nel.dk>,
<bergwolf@...il.com>, <duostefano93@...il.com>,
<dvander@...gle.com>, <fuse-devel@...ts.sourceforge.net>,
<gscrivan@...hat.com>, <jannh@...gle.com>,
<kernel-team@...roid.com>, <linux-fsdevel@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <maco@...roid.com>,
<miklos@...redi.hu>, <palmer@...belt.com>,
<paullawrence@...gle.com>, <trapexit@...wn.link>,
<zezeozue@...gle.com>
Subject: Re: [PATCH RESEND V11 0/7] fuse: Add support for passthrough
read/write
On 1/22/21 7:06 PM, Alessio Balsini wrote:
> On Tue, Jan 19, 2021 at 12:34:23PM +0000, Alessio Balsini wrote:
>> On Tue, Jan 19, 2021 at 07:06:54PM +0800, Rokudo Yan wrote:
>>> on Mon, Jan 18, 2021 at 5:27 PM Alessio Balsini <balsini@...roid.com> wrote:
>>>>
>>>> This is the 11th version of the series, rebased on top of v5.11-rc4.
>>>> Please find the changelog at the bottom of this cover letter.
>>>>
>>>> Add support for file system passthrough read/write of files when enabled
>>>> in userspace through the option FUSE_PASSTHROUGH.
>>> [...]
>>>
>>>
>>> Hi Allesio,
>>>
>>> Could you please add support for passthrough mmap too ?
>>> If the fuse file opened with passthrough actived, and then map (shared) to (another) process
>>> address space using mmap interface. As access the file with mmap will pass the vfs cache of fuse,
>>> but access the file with read/write will bypass the vfs cache of fuse, this may cause inconsistency.
>>> eg. the reader read the fuse file with mmap() and the writer modify the file with write(), the reader
>>> may not see the modification immediately since the writer bypass the vfs cache of fuse.
>>> Actually we have already meet an issue caused by the inconsistency after applying fuse passthrough
>>> scheme to our product.
>>>
>>> Thanks,
>>> yanwu.
>>
>> Hi yanwu,
>>
>> Thank you for your interest in this change.
>>
>> FUSE passthrough for mmap is an extension that is already in my TODO
>> list, together with passthrough for directories.
>> For now I would prefer to keep this series minimal to make the review
>> process leaner and simpler.
>> I will start working on extending this series with new features and
>> addressing more corner cases as soon as these changes get merged, what
>> do you think?
>>
>> Thanks,
>> Alessio
>
> Hi yanwu,
>
> Sorry if I overlooked this issue. I added memory-mapping to my tests and
> could reproduce/verify this wrong behavior you mentioned.
>
> I created this WIP (history may change) branch that has the missing mmap
> implementation:
>
> https://github.com/balsini/linux/commits/fuse-passthrough-v12-develop-v5.11-rc4
>
> I did some mmap testing in the last days with this extra mmap
> implementation and couldn't find any issues, everything seems to be
> working as expected with the extra mmap patch. Can you please confirm
> this is fixed on your end too?
> I'm also going to revert in this branch the stacking policy changes to
> how they were in V10 as suggested by Amir if there are no concerns with
> that.
> I'm waiting for some extra tests to complete and, if no issue is
> detected, I'll post the V12 series super soon.
>
> Thanks,
> Alessio
>
Hi, Alessio
Thank you for your reply. I have already added mmap for passthrough in
our product, and the issue mentioned before is fixed. And I will update
if any new issuses found.
Thanks
yanwu
Powered by blists - more mailing lists