From 011d4e6ff76c76fa7c49540282dee0bafef54fac Mon Sep 17 00:00:00 2001 From: Michael Scherle Date: Fri, 2 Nov 2018 05:13:09 -0700 Subject: cleaned up code and added improvements - cleaned up code - using fixed size type variables in file - using types.h fixup macros - replaced write/read with pwrite/pread (except for 2 occurrences) - added create fuse callback--- src/fuse/cow.h | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/fuse/cow.h') diff --git a/src/fuse/cow.h b/src/fuse/cow.h index 298ce4e..7f2c6bb 100644 --- a/src/fuse/cow.h +++ b/src/fuse/cow.h @@ -2,7 +2,7 @@ * cow.h * * Created on: 22.08.2018 - * Author: michael + * Author: Michael Scherle */ #ifndef COW_H_ @@ -22,20 +22,29 @@ typedef struct cow_request{ struct cow_request *dependencies[6]; struct cow_request *myDependencies[6]; dnbd3_signal_t* signal; -}cow_request; +} cow_request; -bool create_cow_file(char *cow_path, char *image_Name,uint64_t imageSize); +typedef struct { + uint32_t version; + uint64_t imageSize; + uint32_t nameLenght; + uint32_t pageSize; +} cow_metadata; + + +bool cow_createFile(char *cow_path, char *image_Name,uint64_t imageSize); bool createBigBlock(unsigned long id); +int cow_read(char *buf, size_t size, off_t offset); +uint64_t cow_loadFile( char *cow_path, uint64_t imageSize ); + +int readBigBlock(long bigBlockId ,char *buf,size_t size, off_t offset); void onClose(); cow_request getAccess(off_t offset,size_t size); void closeAcccess(cow_request *request); int write_cow(const char *data, size_t size, off_t offset); - int writeToBigBlock(unsigned long bigBlockId,const char *data, off_t offset,size_t size); int getSmallBlockId(off_t offset); -int cow_read(char *buf, size_t size, off_t offset); -int readBigBlock(long bigBlockId ,char *buf,size_t size, off_t offset); -void test(); +void test(); #endif /* COW_H_ */ -- cgit v1.2.3-55-g7522