On Wed, Sep 27, 2017 at 09:09:55PM -0500, Goldwyn Rodrigues wrote: > > > On 09/27/2017 08:51 PM, Dave Chinner wrote: > > On Wed, Sep 27, 2017 at 05:24:49PM -0500, Goldwyn Rodrigues wrote: > >> > >> > >> On 09/27/2017 04:51 PM, Dave Chinner wrote: > >>> On Wed, Sep 27, 2017 at 04:39:20PM -0500, Goldwyn Rodrigues wrote: > >>>> > >>>> > >>>> On 09/27/2017 04:34 PM, Dave Chinner wrote: > >>>>> On Wed, Sep 27, 2017 at 02:10:02PM -0500, Goldwyn Rodrigues wrote: > >>>>>> From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > >>>>>> > >>>>>> Tests the RWF_NOWAIT flag so the I/O returns immediately on > >>>>>> a new file, without any block allocations. > >>>>>> > >>>>>> A new program which includes the pwritev2() call is used. This allows > >>>>>> passing flags for the I/O to be performed. > >>>>> > >>>>> Rather than write a one-off test program for this that effectively > >>>>> replicates xfs_io pread/pwrite functionality, please add RWF_NOWAIT > >>>>> flag support to xfs_io. > >>>>> > >>>> > >>>> This one off program is required because xfs_io does not support partial > >>>> writes. It tries to do that within the loop and does not return the > >>>> number of bytes written. This is required for test generic/462. > >>> > >>> Then please also extend xfs_io to support partial reads and writes > >>> in the manner you need. > >>> > >> > >> That will break existing tests which rely on nothing but the error > >> returned in case of partial writes. > > > > So trigger necessary partial write behaviour only when the CLI > > option to use RWF_NOWAIT is present.... > > > > Partial write test case is not related to RWF_NOWAIT test case. These > are two separate test cases. > > Anyways, I am working on implementing this. Would you prefer pwritev2 be > a separate subcommand calling pwritev2() or should I transform pwritev() > to pwritev2()? The system call is relatively new and there are > overlapping features such as RWF_DSYNC and RWF_SYNC. I am assuming the > former. If pwritev2 exists at build time, build in support for it. If it returns ENOSYS or it is not present at build time, fall back to pwritev()... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html