#ifdef HAVE_PWRITEV
" -V N -- use vectored IO with N iovecs of blocksize each (pwritev)\n"
#endif
+#ifdef HAVE_PWRITEV2
+" -N -- Perform the pwritev2() with RWF_NOWAIT\n"
+#endif
"\n"));
}
init_cvtnum(&fsblocksize, &fssectsize);
bsize = fsblocksize;
- while ((c = getopt(argc, argv, "b:BCdf:Fi:qRs:S:uV:wWZ:")) != EOF) {
+ while ((c = getopt(argc, argv, "b:BCdf:Fi:NqRs:S:uV:wWZ:")) != EOF) {
switch (c) {
case 'b':
tmp = cvtnum(fsblocksize, fssectsize, optarg);
case 'i':
infile = optarg;
break;
+#ifdef HAVE_PWRITEV2
+ case 'N':
+ pwritev2_flags |= RWF_NOWAIT;
+ break;
+#endif
case 's':
skip = cvtnum(fsblocksize, fssectsize, optarg);
if (skip < 0) {
pwrite_cmd.argmax = -1;
pwrite_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
pwrite_cmd.args =
-_("[-i infile [-d] [-s skip]] [-b bs] [-S seed] [-wW] [-FBR [-Z N]] [-V N] off len");
+_("[-i infile [-dwNW] [-s skip]] [-b bs] [-S seed] [-FBR [-Z N]] [-V N] off len");
pwrite_cmd.oneline =
_("writes a number of bytes at a specified offset");
pwrite_cmd.help = pwrite_help;
.B pread
command.
.TP
-.BI "pwrite [ \-i " file " ] [ \-d ] [ \-s " skip " ] [ \-b " size " ] [ \-S " seed " ] [ \-FBR [ \-Z " zeed " ] ] [ \-wW ] [ \-V " vectors " ] " "offset length"
+.BI "pwrite [ \-i " file " ] [ \-dwNW ] [ \-s " skip " ] [ \-b " size " ] [ \-S " seed " ] [ \-FBR [ \-Z " zeed " ] ] [ \-V " vectors " ] " "offset length"
Writes a range of bytes in a specified blocksize from the given
.IR offset .
The bytes written can be either a set pattern or read in from another
causes direct I/O, rather than the usual buffered
I/O, to be used when reading the input file.
.TP
+.B \-w
+call
+.BR fdatasync (2)
+once all writes are complete (included in timing results)
+.TP
+.B \-N
+Perform the
+.BR pwritev2 (2)
+call with
+.I RWF_NOWAIT.
+.TP
+.B \-W
+call
+.BR fsync (2)
+once all writes are complete (included in timing results)
+.TP
.B \-s
specifies the number of bytes to
.I skip
.B \-Z seed
specify the random number seed used for random write
.TP
-.B \-w
-call
-.BR fdatasync (2)
-once all writes are complete (included in timing results)
-.TP
-.B \-W
-call
-.BR fsync (2)
-once all writes are complete (included in timing results)
-.TP
.B \-V vectors
Use the vectored IO write syscall
.BR pwritev (2)