Re: [PATCH v2 19/19] sunrpc: Disable splice for krb5i

J. Bruce Fields
2017-06-20T19:28:08Z

On Tue, Jun 20, 2017 at 03:24:49PM -0400, J. Bruce Fields wrote:
> On Sun, Jun 18, 2017 at 12:34:38AM -0700, Christoph Hellwig wrote:
> > On Sat, Jun 17, 2017 at 01:23:24PM -0400, Chuck Lever wrote:
> > >
> > > > On Jun 17, 2017, at 11:07 AM, Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> wrote:
> > > >
> > > > On Fri, Jun 16, 2017 at 11:22:54AM -0400, Chuck Lever wrote:
> > > >> Running a multi-threaded 8KB fio test (70/30 mix), three or four out
> > > >> of twelve of the jobs fail when using krb5i. The failure is an EIO
> > > >> on a read.
> > > >
> > > > Just curious: what is the backing fs that you tested with? I'd be
> > > > curious if you see this on XFS for example.
> > >
> > > I was able to reproduce this with a tmpfs share and
> > > with an XFS share on NVMe LUNs.
> >
> > Interesting. XFS actually locks out all writes while doing a buffered
> > read, so we end up with two different read instance for the hash vs
> > the data, which does indeed sound dangerous.
>
> In the bad case Chuck was seeing, we were going through
> splice_direct_to_actor(), is that a buffered read for the purposes of
> the above statement?

But, even if xfs is holding a lock across that splice operation, nfsd is
still left holding references to the pages, and they'll be checksumed
and transmitted some time later, so I don't see how xfs has much control
over the problem.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in