From: Frank Dinoff <fdinoff@google.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: fuse: incorrect attribute caching with writeback cache disabled
Date: Fri, 12 Aug 2022 18:58:55 -0400 [thread overview]
Message-ID: <CAAmZXrtrb16hrfskZuWRhGFMy+WyS4Fg0PNL_yjiFauiLEOXbA@mail.gmail.com> (raw)
In-Reply-To: <CAJfpegtf7QR1=-sV59jUsJKX4f1T3Mcov=HjoTZUdLf+XyA-3A@mail.gmail.com>
On Fri, Aug 12, 2022 at 5:33 AM Miklos Szeredi <miklos@szeredi.hu> wrote:
>
> On Thu, 11 Aug 2022 at 23:05, Frank Dinoff <fdinoff@google.com> wrote:
> >
> > I have a binary running on a fuse filesystem which is generating a zip file. I
> > don't know what syscalls are involved since the binary segfaults when run with
> > strace.
>
> You could strace the fuse filesystem.
I'll try doing this later, I was unsuccessful in finding anything
useful printing large amounts
of debug logs.
>
> > After doing a binary search,
> > https://github.com/torvalds/linux/commit/fa5eee57e33e79b71b40e6950c29cc46f5cc5cb7
> > is the commit that seems to have introduced the error. It still seems to
> > failing with a much newer kernel.
>
> How is it failing?
Oops sorry I thought I included that. You can't unzip the file.
unzip -t has "error: invalid compressed data to inflate"
> > Reverting the fuse_invalidate_attr_mask in fuse_perform_write to
> > fuse_invalidate_attr makes every other run of the binary produce the correct
> > output.
>
> What do you mean? Is it succeeding half the time?
Running the binary multiple times in a row about 50% produce the
correct file and 50%
produce a corrupt file.
Running the test multiple times before fa5eee57 I'm seeing about 10%
of runs producing
a corrupt file. (I did not realize this had a chance of failure on the
old kernel.)
After fa5eee57 I have 100% of runs producing the corrupt file.
>
> >
> > I found that enabling the writeback cache makes the binary always produce the
> > right output. Running the fuse daemon in single threaded mode also works.
> >
> > Is there anything that sticks out to you that is wrong with the above commit?
>
> Could you try adding STATX_MODE to the invalidated mask? Can't
> imagine any other attribute being relevant.
Adding STATX_MODE to FUSE_STATX_MODIFY does make the binary produce the
correct file about 75% of the time. The last bit of flakiness may be
some concurrency
issue in the binary?
>
> Thanks,
> Miklos
next prev parent reply other threads:[~2022-08-12 22:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-11 21:05 fuse: incorrect attribute caching with writeback cache disabled Frank Dinoff
2022-08-12 9:33 ` Miklos Szeredi
2022-08-12 22:58 ` Frank Dinoff [this message]
2022-08-22 22:54 ` Frank Dinoff
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=CAAmZXrtrb16hrfskZuWRhGFMy+WyS4Fg0PNL_yjiFauiLEOXbA@mail.gmail.com \
--to=fdinoff@google.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
/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;
as well as URLs for NNTP newsgroup(s).