[PATCH 1/2] xfstests: fix fiemap-tester for fewer extents returned

Eric Sandeen sandeen at redhat.com
Thu Feb 24 16:02:06 CST 2011


If the fiemap call returns fewer extents than asked for,
the fiemap tester gets confused.  If this happens, advance,
and call fiemap again for the next offset.

XFS exposed this because if a file is all-delalloc, it was
only returning 1 mapped extent (this is probably also a buglet).

Signed-off-by: Eric Sandeen <sandeen at redhat.com>
---

diff --git a/src/fiemap-tester.c b/src/fiemap-tester.c
index f6875af..53d7a64 100644
--- a/src/fiemap-tester.c
+++ b/src/fiemap-tester.c
@@ -467,8 +467,10 @@ compare_fiemap_and_map(int fd, char *map, int blocks, int blocksize)
 		for (i = cur_extent, c = 1; i < blocks; i++, c++) {
 			__u64 logical_offset = i * blocksize;
 
-			if (c > blocks_to_map)
+			if (c > fiemap->fm_mapped_extents) {
+				i++;
 				break;
+			}
 
 			switch (map[i]) {
 			case 'D':




More information about the xfs mailing list