From: Jeff Layton Date: Wed, 13 Sep 2017 13:06:24 +0000 (-0400) Subject: src/fsync-err: write to different offset on each fd X-Git-Tag: v2022.05.01~1868 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=39f31eb2838f34a5fd0284927adeebaeb71f6eb5;p=users%2Fhch%2Fxfstests-dev.git src/fsync-err: write to different offset on each fd NFS currently has slightly different semantics from other fs' and fails this test due to the fact that the same range is overwritten via each fd. Change it so that each fd overwrites a different region, which is more representative of a real workload anyway. Reported-by: Neil Brown Signed-off-by: Jeff Layton Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/src/fsync-err.c b/src/fsync-err.c index 4b0205cf2..146688ddb 100644 --- a/src/fsync-err.c +++ b/src/fsync-err.c @@ -106,7 +106,7 @@ int main(int argc, char **argv) memset(buf, 0x7c, bufsize); for (i = 0; i < numfds; ++i) { - ret = write(fd[i], buf, bufsize); + ret = pwrite(fd[i], buf, bufsize, i * bufsize); if (ret < 0) { printf("First write on fd[%d] failed: %m\n", i); return 1; @@ -149,7 +149,7 @@ int main(int argc, char **argv) } for (i = 0; i < numfds; ++i) { - ret = write(fd[i], buf, bufsize); + ret = pwrite(fd[i], buf, bufsize, i * bufsize); if (ret < 0) { printf("Second write on fd[%d] failed: %m\n", i); return 1;