summaryrefslogtreecommitdiffstats
path: root/src/fuse/cow.h
diff options
context:
space:
mode:
authorMichael Scherle2018-12-02 18:48:31 +0100
committerMichael Scherle2018-12-02 18:48:31 +0100
commitd4fa4a9b64a78f082a1b135efbe53952d7317346 (patch)
tree446c3f0b7514e1a9a4f1e470403a911db0c5ab8a /src/fuse/cow.h
parentcleaned up code and added improvements (diff)
downloaddnbd3-d4fa4a9b64a78f082a1b135efbe53952d7317346.tar.gz
dnbd3-d4fa4a9b64a78f082a1b135efbe53952d7317346.tar.xz
dnbd3-d4fa4a9b64a78f082a1b135efbe53952d7317346.zip
changed standart behavior to not overwrite cow file
- in standart cow modus, if an cow file exists it will try to load it, if the given cow file doesn't match with the given image it will exit with an error. - added -z parameter to force an cow file overwrite.
Diffstat (limited to 'src/fuse/cow.h')
-rw-r--r--src/fuse/cow.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/fuse/cow.h b/src/fuse/cow.h
index 7f2c6bb..78cc3ef 100644
--- a/src/fuse/cow.h
+++ b/src/fuse/cow.h
@@ -31,12 +31,13 @@ typedef struct {
uint32_t pageSize;
} cow_metadata;
-
-bool cow_createFile(char *cow_path, char *image_Name,uint64_t imageSize);
+uint64_t cow_init(char *cow_path, char *image_Name, uint64_t imageSize, bool overWrite);
+uint64_t 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 cow_write(const char *data, size_t size, off_t offset);
+uint64_t loadFile( char *cow_path,char *image_Name, uint64_t imageSize );
+void cow_writeImageSizeToFile(uint64_t size);
int readBigBlock(long bigBlockId ,char *buf,size_t size, off_t offset);
void onClose();
cow_request getAccess(off_t offset,size_t size);