Re: [Cluster-devel] [PATCH v4 11/11] iomap: Complete partial direct I/O writes synchronously

2018-05-18 Thread Andreas Grünbacher
2018-05-18 17:56 GMT+02:00 Christoph Hellwig : > On Wed, May 16, 2018 at 10:27:18PM +0200, Andreas Gruenbacher wrote: >> I/O completion triggers when dio->ref reaches zero, so >> iomap_dio_bio_end_io will never evaluate submit.waiter before the >> atomic_dec_and_test in iomap_dio_rw. We probably ne

Re: [Cluster-devel] [PATCH v4 11/11] iomap: Complete partial direct I/O writes synchronously

2018-05-18 Thread Christoph Hellwig
On Wed, May 16, 2018 at 10:27:18PM +0200, Andreas Gruenbacher wrote: > I/O completion triggers when dio->ref reaches zero, so > iomap_dio_bio_end_io will never evaluate submit.waiter before the > atomic_dec_and_test in iomap_dio_rw. We probably need an > smp_mb__before_atomic() before that atomic_d

Re: [Cluster-devel] [PATCH v4 11/11] iomap: Complete partial direct I/O writes synchronously

2018-05-16 Thread Andreas Gruenbacher
On 15 May 2018 at 09:24, Christoph Hellwig wrote: > On Mon, May 14, 2018 at 05:36:24PM +0200, Andreas Gruenbacher wrote: >> According to xfstest generic/240, applications see, to expect direct I/O >> writes to either complete as a whole or to fail; short direct I/O writes >> are apparently not app

Re: [Cluster-devel] [PATCH v4 11/11] iomap: Complete partial direct I/O writes synchronously

2018-05-15 Thread Christoph Hellwig
On Mon, May 14, 2018 at 05:36:24PM +0200, Andreas Gruenbacher wrote: > According to xfstest generic/240, applications see, to expect direct I/O > writes to either complete as a whole or to fail; short direct I/O writes > are apparently not appreciated. This means that when only part of an > asynch

[Cluster-devel] [PATCH v4 11/11] iomap: Complete partial direct I/O writes synchronously

2018-05-14 Thread Andreas Gruenbacher
According to xfstest generic/240, applications see, to expect direct I/O writes to either complete as a whole or to fail; short direct I/O writes are apparently not appreciated. This means that when only part of an asynchronous direct I/O write succeeds, we can either fail the entire write, or we