From 4adfd6a173f87982091ec144bf8b144e2ddb7800 Mon Sep 17 00:00:00 2001 From: Ziao <1575538687@qq.com> Date: Sun, 26 Nov 2023 17:11:34 -0800 Subject: [PATCH] make code compile again --- lib/files.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/files.cpp b/lib/files.cpp index fae26ad..2788805 100644 --- a/lib/files.cpp +++ b/lib/files.cpp @@ -100,11 +100,8 @@ void FilesOperation::create_dot_dotdot(INode_Data* inode, u_int64_t parent_inode void FilesOperation::initialize_rootinode() { // this method must be called explicitly right after initializion INode_Data *root_inode = new INode_Data(); - printf("OK0\n"); fs->inode_manager->new_inode(0, 0, S_IFDIR, root_inode); - printf("OK1\n"); u_int64_t root_inode_number = root_inode->inode_num; - printf("OK2\n"); create_dot_dotdot(root_inode, root_inode_number); root_node = fischl_init_entry(root_inode_number, "/", root_inode); assert(root_node->self_info!=NULL); @@ -451,10 +448,11 @@ int FilesOperation::fischl_write(const char *path, const char *buf, size_t size, // return -ENOENT; // Caution! this based on content in file are multiple of IO_BLOCK_SIZE, not the exact write size. // based on current write_datablock API implement, when write_datablock pass with actual size not index this function should be fixed - INode inode; + INode_Data inode; // Assuming inode is correctly initialized here based on 'path' - inode.inode_construct(fi->fh, disk); - size_t len = inode.size * IO_BLOCK_SIZE; // Assuming each block is 4096 bytes + inode.inode_num = fi->fh; + fs->inode_manager->load_inode(&inode); + size_t len = inode.metadata.size * IO_BLOCK_SIZE; // Assuming each block is 4096 bytes size_t bytes_write = 0; size_t block_index = offset / IO_BLOCK_SIZE; // Starting block index @@ -469,7 +467,7 @@ int FilesOperation::fischl_write(const char *path, const char *buf, size_t size, block_index++; block_offset = 0; // Only the first block might have a non-zero offset } - inode.inode_save(disk); + fs->inode_manager->save_inode(&inode); return bytes_write; // Return the actual number of bytes read }