Messages in this thread | | | From | Andreas Gruenbacher <> | Date | Thu, 6 Feb 2020 16:31:58 +0100 | Subject | Re: [Cluster-devel] [PATCH 05/12] gfs2: fix O_SYNC write handling |
| |
Hi Christoph,
thanks for this patch, and sorry for taking so long to react.
On Tue, Jan 14, 2020 at 5:54 PM Christoph Hellwig <hch@lst.de> wrote: > Don't ignore the return value from generic_write_sync for the direct to > buffered I/O callback case when written is non-zero. Also don't bother > to call generic_write_sync for the pure direct I/O case, as iomap_dio_rw > already takes care of that.
I like the idea, but the patch as is doesn't quite work: iomap_dio_rw already bumps iocb->ki_pos, so we end up with the wrong value by adding the (direct + buffered) write size again. We'd probably also be better served by replacing filemap_write_and_wait_range with generic_write_sync + IOCB_DSYNC in the buffered fallback case. I'll send an update that you'll hopefully like.
Andreas
| |