diff --git a/libntfs/runlist.c b/libntfs/runlist.c index 479ba77f..ba7d3ad1 100644 --- a/libntfs/runlist.c +++ b/libntfs/runlist.c @@ -310,8 +310,6 @@ static __inline__ runlist_element *ntfs_rl_insert(runlist_element *dst, dst[loc].lcn = LCN_RL_NOT_MAPPED; } - magic += hole; - if (dst[magic].lcn == LCN_ENOENT) dst[magic].vcn = dst[magic - 1].vcn + dst[magic - 1].length; @@ -1782,7 +1780,6 @@ static int test_rl_read_buffer (const char *file, u8 *buf, int bufsize) return 0; } - memset (buf, 0, bufsize); if (fread (buf, bufsize, 1, fptr) == 99) { printf ("read %s\n", file); return 0; @@ -1806,7 +1803,6 @@ static runlist_element * test_rl_pure_src (BOOL contig, BOOL multi, int vcn, int fudge = 999; result = malloc (4096); - memset (result, -7, 4096); if (multi) { MKRL (result+0, vcn + (0*len/4), fudge + vcn + 1000 + (0*len/4), len / 4) MKRL (result+1, vcn + (1*len/4), fudge + vcn + 1000 + (1*len/4), len / 4) @@ -1832,7 +1828,6 @@ static void test_rl_pure_test (int test, BOOL contig, BOOL multi, int vcn, int l src = test_rl_pure_src (contig, multi, vcn, len); dst = malloc (4096); - memset (dst, -7, 4096); memcpy (dst, file, size); printf ("Test %2d ----------\n", test); @@ -1868,28 +1863,19 @@ static void test_rl_pure (char *contig, char *multi) static runlist_element file4[] = { { 0, -3, 0 } /* NOENT */ }; -#if 0 static runlist_element file5[] = { - { 0, -1, 100 }, /* HOLE */ + { 0, -2, 100 }, /* NOTMAP */ { 100, 1100, 100 }, /* DATA */ - { 200, -1, 100 }, /* HOLE */ + { 200, -2, 100 }, /* NOTMAP */ { 300, 1300, 100 }, /* DATA */ - { 400, -1, 100 }, /* HOLE */ - { 500, -2, 0 } /* NOT_MAPPED */ + { 400, -2, 100 }, /* NOTMAP */ + { 500, -3, 0 } /* NOENT */ }; static runlist_element file6[] = { { 0, 1000, 100 }, /* DATA */ - { 100, -1, 100 }, /* HOLE */ - { 200, -2, 0 } /* NOT_MAPPED */ + { 100, -2, 100 }, /* NOTMAP */ + { 200, -3, 0 } /* NOENT */ }; - static runlist_element file7[] = { - { 0, 1000, 100 }, /* DATA */ - { 100, -2, 0 } /* NOT_MAPPED */ - }; - static runlist_element file8[] = { - { 0, -2, 0 } /* NOT_MAPPED */ - }; -#endif BOOL c, m; if (strcmp (contig, "contig") == 0) @@ -1929,8 +1915,6 @@ static void test_rl_pure (char *contig, char *multi) test_rl_pure_test (18, c, m, 140, 40, file3, sizeof (file3)); test_rl_pure_test (19, c, m, 0, 40, file4, sizeof (file4)); test_rl_pure_test (20, c, m, 40, 40, file4, sizeof (file4)); - -#if 0 test_rl_pure_test (21, c, m, 0, 40, file5, sizeof (file5)); test_rl_pure_test (22, c, m, 40, 40, file5, sizeof (file5)); test_rl_pure_test (23, c, m, 60, 40, file5, sizeof (file5)); @@ -1945,13 +1929,6 @@ static void test_rl_pure (char *contig, char *multi) test_rl_pure_test (32, c, m, 400, 100, file5, sizeof (file5)); test_rl_pure_test (33, c, m, 160, 100, file6, sizeof (file6)); test_rl_pure_test (34, c, m, 100, 140, file6, sizeof (file6)); - test_rl_pure_test (35, c, m, 200, 40, file6, sizeof (file6)); - test_rl_pure_test (36, c, m, 240, 40, file6, sizeof (file6)); - test_rl_pure_test (37, c, m, 100, 40, file7, sizeof (file7)); - test_rl_pure_test (38, c, m, 140, 40, file7, sizeof (file7)); - test_rl_pure_test (39, c, m, 0, 40, file8, sizeof (file8)); - test_rl_pure_test (40, c, m, 40, 40, file8, sizeof (file8)); -#endif } /** diff --git a/test/runlist-data/pure-cm b/test/runlist-data/pure-cm index 37c54557..71e21b5e 100644 --- a/test/runlist-data/pure-cm +++ b/test/runlist-data/pure-cm @@ -549,3 +549,415 @@ res: 70 1070 10 80 ENOENT 0 +Test 21 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1000 10 + 10 1010 10 + 20 1020 10 + 30 1030 10 + 40 NOTMAP 0 + +res: + VCN LCN len + 0 1000 10 + 10 1010 10 + 20 1020 10 + 30 1030 10 + 40 NOTMAP 60 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 22 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 40 1040 10 + 50 1050 10 + 60 1060 10 + 70 1070 10 + 80 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 40 + 40 1040 10 + 50 1050 10 + 60 1060 10 + 70 1070 10 + 80 NOTMAP 20 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 23 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 60 1060 10 + 70 1070 10 + 80 1080 10 + 90 1090 10 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 60 + 60 1060 10 + 70 1070 10 + 80 1080 10 + 90 1090 110 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 24 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1000 25 + 25 1025 25 + 50 1050 25 + 75 1075 25 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 1000 25 + 25 1025 25 + 50 1050 25 + 75 1075 125 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 25 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 1200 10 + 210 1210 10 + 220 1220 10 + 230 1230 10 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 110 + 210 1210 10 + 220 1220 10 + 230 1230 10 + 240 NOTMAP 60 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 26 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 240 1240 10 + 250 1250 10 + 260 1260 10 + 270 1270 10 + 280 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 40 + 240 1240 10 + 250 1250 10 + 260 1260 10 + 270 1270 10 + 280 NOTMAP 20 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 27 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 260 1260 10 + 270 1270 10 + 280 1280 10 + 290 1290 10 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 60 + 260 1260 10 + 270 1270 10 + 280 1280 10 + 290 1290 110 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 28 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 1200 25 + 225 1225 25 + 250 1250 25 + 275 1275 25 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 125 + 225 1225 25 + 250 1250 25 + 275 1275 125 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 29 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 1400 10 + 410 1410 10 + 420 1420 10 + 430 1430 10 + 440 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 110 + 410 1410 10 + 420 1420 10 + 430 1430 10 + 440 NOTMAP 60 + 500 ENOENT 0 + +Test 30 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 440 1440 10 + 450 1450 10 + 460 1460 10 + 470 1470 10 + 480 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 40 + 440 1440 10 + 450 1450 10 + 460 1460 10 + 470 1470 10 + 480 NOTMAP 20 + 500 ENOENT 0 + +Test 31 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 460 1460 10 + 470 1470 10 + 480 1480 10 + 490 1490 10 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 60 + 460 1460 10 + 470 1470 10 + 480 1480 10 + 490 1490 10 + 500 ENOENT 0 + +Test 32 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 1400 25 + 425 1425 25 + 450 1450 25 + 475 1475 25 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 125 + 425 1425 25 + 450 1450 25 + 475 1475 25 + 500 ENOENT 0 + +Test 33 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 160 1160 25 + 185 1185 25 + 210 1210 25 + 235 1235 25 + 260 NOTMAP 0 + +res: + VCN LCN len + 0 1000 100 + 100 NOTMAP 60 + 160 1160 25 + 185 1185 25 + 210 1210 25 + 235 1235 25 + 260 ENOENT 0 + +Test 34 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 100 1100 35 + 135 1135 35 + 170 1170 35 + 205 1205 35 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 1000 135 + 135 1135 35 + 170 1170 35 + 205 1205 35 + 240 ENOENT 0 + diff --git a/test/runlist-data/pure-cs b/test/runlist-data/pure-cs index 8007a84e..bfd7d461 100644 --- a/test/runlist-data/pure-cs +++ b/test/runlist-data/pure-cs @@ -429,3 +429,331 @@ res: 40 1040 40 80 ENOENT 0 +Test 21 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1000 40 + 40 NOTMAP 0 + +res: + VCN LCN len + 0 1000 40 + 40 NOTMAP 60 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 22 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 40 1040 40 + 80 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 40 + 40 1040 40 + 80 NOTMAP 20 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 23 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 60 1060 40 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 60 + 60 1060 140 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 24 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1000 100 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 1000 200 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 25 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 1200 40 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 140 + 240 NOTMAP 60 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 26 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 240 1240 40 + 280 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 40 + 240 1240 40 + 280 NOTMAP 20 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 27 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 260 1260 40 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 60 + 260 1260 140 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 28 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 1200 100 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 300 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 29 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 1400 40 + 440 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 140 + 440 NOTMAP 60 + 500 ENOENT 0 + +Test 30 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 440 1440 40 + 480 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 40 + 440 1440 40 + 480 NOTMAP 20 + 500 ENOENT 0 + +Test 31 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 460 1460 40 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 60 + 460 1460 40 + 500 ENOENT 0 + +Test 32 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 1400 100 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 200 + 500 ENOENT 0 + +Test 33 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 160 1160 100 + 260 NOTMAP 0 + +res: + VCN LCN len + 0 1000 100 + 100 NOTMAP 60 + 160 1160 100 + 260 ENOENT 0 + +Test 34 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 100 1100 140 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 1000 240 + 240 ENOENT 0 + diff --git a/test/runlist-data/pure-nm b/test/runlist-data/pure-nm index 266ff22e..b082e6e9 100644 --- a/test/runlist-data/pure-nm +++ b/test/runlist-data/pure-nm @@ -559,3 +559,424 @@ res: 70 2069 10 80 ENOENT 0 +Test 21 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1999 10 + 10 2009 10 + 20 2019 10 + 30 2029 10 + 40 NOTMAP 0 + +res: + VCN LCN len + 0 1999 10 + 10 2009 10 + 20 2019 10 + 30 2029 10 + 40 NOTMAP 60 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 22 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 40 2039 10 + 50 2049 10 + 60 2059 10 + 70 2069 10 + 80 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 40 + 40 2039 10 + 50 2049 10 + 60 2059 10 + 70 2069 10 + 80 NOTMAP 20 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 23 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 60 2059 10 + 70 2069 10 + 80 2079 10 + 90 2089 10 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 60 + 60 2059 10 + 70 2069 10 + 80 2079 10 + 90 2089 10 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 24 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1999 25 + 25 2024 25 + 50 2049 25 + 75 2074 25 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 1999 25 + 25 2024 25 + 50 2049 25 + 75 2074 25 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 25 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 2199 10 + 210 2209 10 + 220 2219 10 + 230 2229 10 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 2199 10 + 210 2209 10 + 220 2219 10 + 230 2229 10 + 240 NOTMAP 60 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 26 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 240 2239 10 + 250 2249 10 + 260 2259 10 + 270 2269 10 + 280 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 40 + 240 2239 10 + 250 2249 10 + 260 2259 10 + 270 2269 10 + 280 NOTMAP 20 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 27 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 260 2259 10 + 270 2269 10 + 280 2279 10 + 290 2289 10 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 60 + 260 2259 10 + 270 2269 10 + 280 2279 10 + 290 2289 10 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 28 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 2199 25 + 225 2224 25 + 250 2249 25 + 275 2274 25 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 2199 25 + 225 2224 25 + 250 2249 25 + 275 2274 25 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 29 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 2399 10 + 410 2409 10 + 420 2419 10 + 430 2429 10 + 440 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 2399 10 + 410 2409 10 + 420 2419 10 + 430 2429 10 + 440 NOTMAP 60 + 500 ENOENT 0 + +Test 30 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 440 2439 10 + 450 2449 10 + 460 2459 10 + 470 2469 10 + 480 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 40 + 440 2439 10 + 450 2449 10 + 460 2459 10 + 470 2469 10 + 480 NOTMAP 20 + 500 ENOENT 0 + +Test 31 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 460 2459 10 + 470 2469 10 + 480 2479 10 + 490 2489 10 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 60 + 460 2459 10 + 470 2469 10 + 480 2479 10 + 490 2489 10 + 500 ENOENT 0 + +Test 32 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 2399 25 + 425 2424 25 + 450 2449 25 + 475 2474 25 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 2399 25 + 425 2424 25 + 450 2449 25 + 475 2474 25 + 500 ENOENT 0 + +Test 33 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 160 2159 25 + 185 2184 25 + 210 2209 25 + 235 2234 25 + 260 NOTMAP 0 + +res: + VCN LCN len + 0 1000 100 + 100 NOTMAP 60 + 160 2159 25 + 185 2184 25 + 210 2209 25 + 235 2234 25 + 260 ENOENT 0 + +Test 34 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 100 2099 35 + 135 2134 35 + 170 2169 35 + 205 2204 35 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 1000 100 + 100 2099 35 + 135 2134 35 + 170 2169 35 + 205 2204 35 + 240 ENOENT 0 + diff --git a/test/runlist-data/pure-ns b/test/runlist-data/pure-ns index fd3e2348..b6443114 100644 --- a/test/runlist-data/pure-ns +++ b/test/runlist-data/pure-ns @@ -439,3 +439,340 @@ res: 40 2039 40 80 ENOENT 0 +Test 21 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1999 40 + 40 NOTMAP 0 + +res: + VCN LCN len + 0 1999 40 + 40 NOTMAP 60 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 22 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 40 2039 40 + 80 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 40 + 40 2039 40 + 80 NOTMAP 20 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 23 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 60 2059 40 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 60 + 60 2059 40 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 24 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 0 1999 100 + 100 NOTMAP 0 + +res: + VCN LCN len + 0 1999 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 25 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 2199 40 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 2199 40 + 240 NOTMAP 60 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 26 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 240 2239 40 + 280 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 40 + 240 2239 40 + 280 NOTMAP 20 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 27 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 260 2259 40 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 60 + 260 2259 40 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 28 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 200 2199 100 + 300 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 2199 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +Test 29 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 2399 40 + 440 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 2399 40 + 440 NOTMAP 60 + 500 ENOENT 0 + +Test 30 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 440 2439 40 + 480 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 40 + 440 2439 40 + 480 NOTMAP 20 + 500 ENOENT 0 + +Test 31 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 460 2459 40 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 60 + 460 2459 40 + 500 ENOENT 0 + +Test 32 ---------- +dst: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 NOTMAP 100 + 500 ENOENT 0 + +src: + VCN LCN len + 400 2399 100 + 500 NOTMAP 0 + +res: + VCN LCN len + 0 NOTMAP 100 + 100 1100 100 + 200 NOTMAP 100 + 300 1300 100 + 400 2399 100 + 500 ENOENT 0 + +Test 33 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 160 2159 100 + 260 NOTMAP 0 + +res: + VCN LCN len + 0 1000 100 + 100 NOTMAP 60 + 160 2159 100 + 260 ENOENT 0 + +Test 34 ---------- +dst: + VCN LCN len + 0 1000 100 + 100 NOTMAP 100 + 200 ENOENT 0 + +src: + VCN LCN len + 100 2099 140 + 240 NOTMAP 0 + +res: + VCN LCN len + 0 1000 100 + 100 2099 140 + 240 ENOENT 0 +