diff mbox

[v2] src/seek_sanity_test: fix test15 SEEK_HOLE expected results

Message ID 20170523161955.28394-1-lhenriques@suse.com (mailing list archive)
State New, archived
Headers show

Commit Message

Luis Henriques May 23, 2017, 4:19 p.m. UTC
Filesystesm with the "default behaviour" will always return the offset of
the end of the file when lseek'ing with SEEK_HOLE.  This test does the
following:

 - fallocate 4 << 20 bytes
 - write PAGE_SIZE bytes at offset 0
 - writes PAGE_SIZE bytes at offset 4 << 20

Thus, using lseek in an FS with the "default behaviour" will set the
position at 4 << 20 + PAGE_SIZE.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Luis Henriques <lhenriques@suse.com>
---
- Changes since v1
  Updated with Eryu suggestions (thanks for reviewing!): update filsz
  after the last write and set the expected result for the 5th test to
  'filsz - bufsz'.

 src/seek_sanity_test.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/seek_sanity_test.c b/src/seek_sanity_test.c
index d52e2b6dab79..064a8fa5822f 100644
--- a/src/seek_sanity_test.c
+++ b/src/seek_sanity_test.c
@@ -334,12 +334,15 @@  static int test15(int fd, int testnum)
 	if (ret)
 		goto out;
 
+	/* update file size */
+	filsz += bufsz;
+
 	/* offset at the beginning */
 	ret += do_lseek(testnum,  1, fd, filsz, SEEK_HOLE, 0, bufsz);
 	ret += do_lseek(testnum,  2, fd, filsz, SEEK_HOLE, 1, bufsz);
 	ret += do_lseek(testnum,  3, fd, filsz, SEEK_DATA, 0, 0);
 	ret += do_lseek(testnum,  4, fd, filsz, SEEK_DATA, 1, 1);
-	ret += do_lseek(testnum,  5, fd, filsz, SEEK_DATA, bufsz, filsz);
+	ret += do_lseek(testnum,  5, fd, filsz, SEEK_DATA, bufsz, filsz - bufsz);
 
 out:
 	do_free(buf);