Commit 71b0888e authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent bba9d6d2
......@@ -1479,16 +1479,15 @@ void test_file_access_mmapbase(void)
/* writeout in 3 variants - STORE, MARK, STORE+MARK */
diag("writeout");
vma_unmap(vma);
CHECK_NOPAGE( 100 );
CHECK_NOPAGE( 101 );
CHECK_NOPAGE( 102 );
CHECK_NOPAGE( 103 );
page0 = page2 = page3 = NULL;
/* mkdirty2 prepares state with 2 dirty pages only 1 of which is mapped */
void mkdirty2(int gen) {
vma_unmap(vma);
CHECK_NOPAGE( 100 );
CHECK_NOPAGE( 101 );
CHECK_NOPAGE( 102 );
CHECK_NOPAGE( 103 );
page0 = page2 = page3 = NULL;
err = fileh_mmap(vma, fh, 100, 4);
ok1(!err);
......@@ -1505,11 +1504,39 @@ void test_file_access_mmapbase(void)
ok1(!M(vma, 1)); CHECK_NOPAGE( 101 );
CHECK_PAGE (page2, 102, PAGE_DIRTY, 0);
CHECK_NOPAGE( 103 );
CHECK_MRU (page2, page0);
CHECK_DIRTY (page2, page0);
}
diag("writeout (store)");
mkdirty2(10);
ok1(!fileh_dirty_writeout(fh, WRITEOUT_STORE));
ok1( M(vma, 0)); CHECK_PAGE (page0, 100, PAGE_DIRTY, 1);
ok1(!M(vma, 1)); CHECK_NOPAGE( 101 );
CHECK_PAGE (page2, 102, PAGE_DIRTY, 0);
CHECK_NOPAGE( 103 );
CHECK_MRU (page2, page0);
CHECK_DIRTY (page2, page0);
ok1(B(vma, 0*PSb + 0) == 10);
ok1(B(vma, 0*PSb + 1) == 100);
ok1(B(vma, 0*PSb + PSb - 1) == 100);
b0 = page_mmap(page0, NULL, PROT_READ); ok1(b0);
b2 = page_mmap(page2, NULL, PROT_READ); ok1(b2);
ok1(b0[0] == 10);
ok1(b0[1] == 100);
ok1(b0[PSb - 1] == 100);
ok1(b2[0] == 12);
ok1(b2[1] == 102);
ok1(b2[PSb - 1] == 102);
xmunmap(b0, PS);
xmunmap(b2, PS);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment