From: Pankaj Raghav <p.raghav@xxxxxxxxxxx> SEEK_HOLE and SEEK_DATA work in filesystem block size granularity. So while filling up the buffer for test 13 - 16, round up the bufsz to the closest filesystem blksz. As we only allowed blocksizes lower than the pagesize, this was never an issue and it always aligned. Once we have blocksize > pagesize, this assumption will break. Fixes the test for LBS configuration. Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx> Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@xxxxxxxxx> --- src/seek_sanity_test.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/seek_sanity_test.c b/src/seek_sanity_test.c index 48b3ccc0..a61ed3da 100644 --- a/src/seek_sanity_test.c +++ b/src/seek_sanity_test.c @@ -541,7 +541,7 @@ static int test16(int fd, int testnum) { int ret = 0; char *buf = NULL; - int bufsz = sysconf(_SC_PAGE_SIZE); + int bufsz = roundup(sysconf(_SC_PAGE_SIZE), alloc_size); int filsz = 4 << 20; if (!unwritten_extents) { @@ -591,7 +591,7 @@ static int test15(int fd, int testnum) { int ret = 0; char *buf = NULL; - int bufsz = sysconf(_SC_PAGE_SIZE); + int bufsz = roundup(sysconf(_SC_PAGE_SIZE), alloc_size); int filsz = 4 << 20; if (!unwritten_extents) { @@ -643,7 +643,7 @@ static int test14(int fd, int testnum) { int ret = 0; char *buf = NULL; - int bufsz = sysconf(_SC_PAGE_SIZE) * 14; + int bufsz = roundup(sysconf(_SC_PAGE_SIZE) * 14, alloc_size); int filsz = 4 << 20; if (!unwritten_extents) { @@ -692,7 +692,7 @@ static int test13(int fd, int testnum) { int ret = 0; char *buf = NULL; - int bufsz = sysconf(_SC_PAGE_SIZE) * 14; + int bufsz = roundup(sysconf(_SC_PAGE_SIZE) * 14, alloc_size); int filsz = 4 << 20; if (!unwritten_extents) { -- 2.34.1