Exemplo n.º 1
0
static bool do_tests(struct ext4_blockdev *part_blockdev)
{
	tim_wait_ms(TEST_DELAY_MS);
	if (!test_lwext4_mount(part_blockdev, bc))
		return false;

	tim_wait_ms(TEST_DELAY_MS);

	ext4_cache_write_back("/mp/", 1);
	test_lwext4_cleanup();

	if (sbstat) {
		tim_wait_ms(TEST_DELAY_MS);
		test_lwext4_mp_stats();
	}

	tim_wait_ms(TEST_DELAY_MS);
	test_lwext4_dir_ls("/mp/");
	if (!test_lwext4_dir_test(dir_cnt))
		return false;

	tim_wait_ms(TEST_DELAY_MS);
	if (!test_lwext4_file_test(rw_buff, rw_szie, rw_count))
		return false;

	if (sbstat) {
		tim_wait_ms(TEST_DELAY_MS);
		test_lwext4_mp_stats();
	}

	if (cleanup_flag) {
		tim_wait_ms(TEST_DELAY_MS);
		test_lwext4_cleanup();
	}

	if (bstat) {
		tim_wait_ms(TEST_DELAY_MS);
		test_lwext4_block_stats();
	}

	ext4_cache_write_back("/mp/", 0);
	if (!test_lwext4_umount())
		return false;

	return true;
}
Exemplo n.º 2
0
bool test_lwext4_umount(void)
{
	int r;

	ext4_cache_write_back("/mp/", 0);

	r = ext4_journal_stop("/mp/");
	if (r != EOK) {
		printf("ext4_journal_stop: fail %d", r);
		return false;
	}

	r = ext4_umount("/mp/");
	if (r != EOK) {
		printf("ext4_umount: fail %d", r);
		return false;
	}
	return true;
}
Exemplo n.º 3
0
bool test_lwext4_mount(struct ext4_blockdev *bdev, struct ext4_bcache *bcache)
{
	int r;

	bc = bcache;
	bd = bdev;

	if (!bd) {
		printf("test_lwext4_mount: no block device\n");
		return false;
	}

	ext4_dmask_set(DEBUG_ALL);

	r = ext4_device_register(bd, bc ? bc : 0, "ext4_fs");
	if (r != EOK) {
		printf("ext4_device_register: rc = %d\n", r);
		return false;
	}

	r = ext4_mount("ext4_fs", "/mp/", false);
	if (r != EOK) {
		printf("ext4_mount: rc = %d\n", r);
		return false;
	}

	r = ext4_recover("/mp/");
	if (r != EOK && r != ENOTSUP) {
		printf("ext4_recover: rc = %d\n", r);
		return false;
	}

	r = ext4_journal_start("/mp/");
	if (r != EOK) {
		printf("ext4_journal_start: rc = %d\n", r);
		return false;
	}

	ext4_cache_write_back("/mp/", 1);
	return true;
}