]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
dio_writeback_race: align the directio buffer to base page size
authorDarrick J. Wong <djwong@kernel.org>
Thu, 20 Feb 2025 21:46:57 +0000 (13:46 -0800)
committerZorro Lang <zlang@kernel.org>
Thu, 6 Mar 2025 13:25:54 +0000 (21:25 +0800)
There's no need to align the memory buffer for the direcio write to the
file allocation unit size; base page size will do.  This fixes the
following error when generic/761 is run against an XFS rt filesystem
with a 28k rtextsize:

 QA output created by 761
+failed to allocate aligned memory
+cat: /opt/foobar: No such file or directory
 Silence is golden

Cc: <fstests@vger.kernel.org> # v2025.02.16
Fixes: 17fb49493426ad ("fstests: add a generic test to verify direct IO writes with buffer contents change")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Zorro Lang <zlang@kernel.org>
src/dio-writeback-race.c

index 2d3156e5b0974a563762656ddb55f548dca0b5d8..cca7d0e3b94cc9b158870663813221a4cbd34a31 100644 (file)
@@ -102,7 +102,7 @@ int main (int argc, char *argv[])
                fprintf(stderr, "missing argument\n");
                goto error;
        }
-       ret = posix_memalign(&buf, blocksize, blocksize);
+       ret = posix_memalign(&buf, sysconf(_SC_PAGESIZE), blocksize);
        if (!buf) {
                fprintf(stderr, "failed to allocate aligned memory\n");
                exit(EXIT_FAILURE);