From: Luis Henriques <luis@igalia.com>
To: Jun Wu <quark@lihdd.net>
Cc: Joanne Koong <joannelkoong@gmail.com>,
fuse-devel@lists.linux.dev, Jun Wu <quark@meta.com>
Subject: Re: [PATCH v2] fuse: invalidate readdir cache on epoch bump
Date: Fri, 15 May 2026 21:25:02 +0100 [thread overview]
Message-ID: <87cxyws9nl.fsf@igalia.com> (raw)
In-Reply-To: <CAFfKmRW_Dqtb_DwAgK5Oq5kTAnGY6bmRpYP-Gw2+PVBtU4YVtQ@mail.gmail.com> (Jun Wu's message of "Fri, 15 May 2026 10:43:17 -0700")
On Fri, May 15 2026, Jun Wu wrote:
> Thanks for your review! I think my DNS records had expired when sending,
> and retrying after fixing the DNS didn't help. I will resend with a regular
> Gmail address.
Awesome, thanks. I can confirm v3 is now on the mailing-list, though this
email I'm replying to seems to have been dropped again :-)
Cheers,
--
Luís
>
> Regards,
> Jun
>
> On Fri, May 15, 2026 at 9:26 AM Luis Henriques <luis@igalia.com> wrote:
>
>> On Fri, May 15 2026, Joanne Koong wrote:
>>
>> > On Fri, May 15, 2026 at 1:53 AM Luis Henriques <luis@igalia.com> wrote:
>> >>
>> >> On Thu, May 14 2026, Jun Wu wrote:
>> >>
>> >> > From: Jun Wu <quark@meta.com>
>> >> >
>> >> > FUSE_NOTIFY_INC_EPOCH invalidates dentries, but does not invalidate
>> cached
>> >> > readdir results. A process with cwd inside a FUSE mount can therefore
>> >> > observe stale readdir(".") output after an epoch bump.
>> >> >
>> >> > Fix this by recording epoch in the readdir cache and checking it on
>> reuse.
>> >> >
>> >> > Minimal reproducer:
>> >> >
>> >> > - mount a tiny FUSE fs with an empty root directory
>> >> > - on opendir, enable fi->cache_readdir and fi->keep_cache
>> >> > - chdir into the mount and call readdir(".") to populate readdir cache
>> >> > - make the FUSE server report one file in the root directory
>> >> > - send only FUSE_NOTIFY_INC_EPOCH
>> >> > - call readdir(".") again; before this change it stays stale, after
>> this
>> >> > change it sees the new file
>> >> >
>> >> > Fixes: 2396356a945b ("fuse: add more control over cache invalidation
>> behaviour")
>> >> > Signed-off-by: Jun Wu <quark@meta.com>
>> >
>> > Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
>> >
>> > (btw, I think your v2 email may have gotten corrupted when sending. I
>> > wasn't able to find it in my inbox and had to manually import Luis's.
>> > I'm not seeing it show up on lore [1] either)
>>
>> Hmm... yeah, looks like there's something funny with his email. The mail
>> server I use seems to be more tolerant than lore regarding incorrect
>> email. So maybe lore blocked it because the domain and the smtp server
>> address don't match...? Anyway, maybe it's worth resending so that
>> everyone can see it.
>>
>> Cheers,
>> --
>> Luís
>>
>
>
> --
> WU Jun
> <quark@lihdd.net>
next prev parent reply other threads:[~2026-05-15 20:25 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260331223927.763741-1-quark@lihdd.net>
2026-05-12 19:58 ` [PATCH] fuse: invalidate readdir cache on epoch bump Joanne Koong
2026-05-14 23:09 ` [PATCH v2] " Jun Wu
2026-05-15 0:14 ` Jun Wu
2026-05-15 8:53 ` Luis Henriques
2026-05-15 15:36 ` Joanne Koong
2026-05-15 16:26 ` Luis Henriques
[not found] ` <CAFfKmRW_Dqtb_DwAgK5Oq5kTAnGY6bmRpYP-Gw2+PVBtU4YVtQ@mail.gmail.com>
2026-05-15 20:25 ` Luis Henriques [this message]
2026-06-11 12:07 ` Miklos Szeredi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87cxyws9nl.fsf@igalia.com \
--to=luis@igalia.com \
--cc=fuse-devel@lists.linux.dev \
--cc=joannelkoong@gmail.com \
--cc=quark@lihdd.net \
--cc=quark@meta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox