On Mon, May 28, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote: > On Fri, May 25, 2018 at 07:35:33AM -0400, Brian Foster wrote: > > That comment is what I'm basing on... > > > > > /* > > > * We can end up here with no error and nothing to write if we > > > * race with a partial page truncate on a sub-page block sized > > > * filesystem. In that case we need to mark the page clean. > > > */ > > > > > > > So we can correctly end up with nothing to write on a dirty page, but it > > presumes a race with truncate. So suppose we end up with a dirty page, > > > > at least one uptodate block, count is zero (i.e., due to holes) and > > i_size is beyond the page. Would that not be completely bogus? If bogus, > > I think that would at least detect the dumb example I posted earlier. > > The trivial file_offset >= i_size_read assert explodes pretty soon > in generic/091, and already does so with the existing mainline code. > What exactly is the trivial check? Can you show the code please? Brian > I'd rather not open another can of worms right now.. > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html