91 lines
2.1 KiB
C++
91 lines
2.1 KiB
C++
#include "fischl.h"
|
|
#include "fs.hpp"
|
|
#include <stdio.h>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
// printf("hello word!");
|
|
// fischl *F = new fischl;
|
|
// F->init();
|
|
// char *d = strdup("/dev/vdc");
|
|
|
|
// RawDisk *disk = new FakeRawDisk(2048);
|
|
// Fs *fs = new Fs(disk);
|
|
// fs->format();
|
|
// disk->print_block(0);
|
|
// disk->print_block(1);
|
|
// INode_Data inode_data = INode_Data();
|
|
// fs->inode_manager->new_inode(1, 2, 3, &inode_data);
|
|
// int err;
|
|
// u_int64_t block_num = 0;
|
|
// for (int i = 0; i < 56 + 512 + 4; ++i)
|
|
// err = fs->allocate_datablock(&inode_data, &block_num);
|
|
|
|
// for (int i = 0; i < 5; ++i)
|
|
// printf("%d\n", err = fs->deallocate_datablock(&inode_data, &block_num));
|
|
|
|
// fs->inode_manager->save_inode(&inode_data);
|
|
|
|
// disk->print_block(0);
|
|
// disk->print_block(1);
|
|
|
|
// disk->print_block(1081);
|
|
|
|
// disk->print_block(1596);
|
|
|
|
// disk->print_block(1597);
|
|
|
|
/*
|
|
int err;
|
|
|
|
RawDisk *disk = new FakeRawDisk(2048);
|
|
Fs *fs = new Fs(disk);
|
|
fs->format();
|
|
disk->print_block(0);
|
|
disk->print_block(1);
|
|
|
|
INode_Data inode_data;
|
|
fs->inode_manager->new_inode(1, 2, 3, &inode_data);
|
|
|
|
disk->print_block(0);
|
|
disk->print_block(1);
|
|
|
|
int BL_SIZE = 4096 / 8;
|
|
|
|
u_int64_t buf[BL_SIZE * (56 + 512 + 10)];
|
|
|
|
for (int i = 0; i < BL_SIZE * (56 + 512 + 10); ++i)
|
|
buf[i] = (i / BL_SIZE) + 1;
|
|
|
|
err = fs->write(&inode_data, (char *)buf, 4096 * (56 + 3) + 16 + 8, 0);
|
|
fs->inode_manager->save_inode(&inode_data);
|
|
|
|
printf("Write %d", err);
|
|
|
|
disk->print_block(0);
|
|
disk->print_block(1);
|
|
disk->print_block(1025);
|
|
disk->print_block(1026);
|
|
disk->print_block(1027);
|
|
disk->print_block(1080);
|
|
disk->print_block(1081);
|
|
disk->print_block(1082);
|
|
disk->print_block(1083);
|
|
disk->print_block(1084);
|
|
disk->print_block(1085);
|
|
|
|
int N = 5;
|
|
|
|
u_int64_t buf2[4096] = {0};
|
|
err = fs->read(&inode_data, (char *)buf2, (8 * N), 4096 - 8 - 8);
|
|
|
|
printf("\n\nREAD: %d\n", err);
|
|
for (int i = 0; i < N; ++i)
|
|
printf("%d ", buf2[i]);
|
|
printf("\n");*/
|
|
|
|
fischl(argc, argv);
|
|
|
|
|
|
|
|
return 0;
|
|
} |