Re: iov_iter_pipe warning.

From: Dave Jones
Date: Wed Aug 30 2017 - 13:17:36 EST


On Wed, Aug 30, 2017 at 10:13:43AM -0700, Darrick J. Wong wrote:


> > I reverted the debug patches mentioned above, and ran trinity for a while again,
> > and got this which smells really suspiciously related
> >
> > WARNING: CPU: 1 PID: 10380 at fs/iomap.c:993 iomap_dio_rw+0x825/0x840
> > RAX: 00000000fffffff0 RBX: ffff88046a64d0e8 RCX: 0000000000000000
> >
> >
> >
> > That's this..
> >
> > 987 ret = filemap_write_and_wait_range(mapping, start, end);
> > 988 if (ret)
> > 989 goto out_free_dio;
> > 990
> > 991 ret = invalidate_inode_pages2_range(mapping,
> > 992 start >> PAGE_SHIFT, end >> PAGE_SHIFT);
> > 993 WARN_ON_ONCE(ret);
> >
> >
> > Plot thickens..
>
> Hm, that's the WARN_ON that comes from a failed pagecache invalidation
> prior to a dio operation, which implies that something's mixing buffered
> and dio?

Plausible. Judging by RAX, we got -EBUSY

> Given that it's syzkaller it wouldn't surprise me to hear that it's
> doing that... :)

s/syzkaller/trinity/, but yes.

Dave