summaryrefslogtreecommitdiffstats
path: root/src/fuse/cowfile.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fuse/cowfile.h')
-rw-r--r--src/fuse/cowfile.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/fuse/cowfile.h b/src/fuse/cowfile.h
index 05beb0e..3095067 100644
--- a/src/fuse/cowfile.h
+++ b/src/fuse/cowfile.h
@@ -25,6 +25,12 @@ _Static_assert( ATOMIC_LLONG_LOCK_FREE == 2, "ATOMIC LLONG not lock free" );
_Static_assert( sizeof( atomic_uint_least64_t ) == 8, "atomic_uint_least64_t not 8 byte" );
_Static_assert( sizeof( atomic_int_least64_t ) == 8, "atomic_int_least64_t not 8 byte" );
+enum dataSource {
+ local,
+ remote,
+ zero
+};
+
#define COW_METADATA_HEADER_SIZE 320
typedef struct cowfile_metadata_header
{
@@ -66,7 +72,6 @@ typedef struct cow_request
atomic_size_t bytesWorkedOn;
atomic_int workCounter;
atomic_int errorCode;
- bool replyAttr;
fuse_ino_t ino;
struct fuse_file_info *fi;
} cow_request_t;
@@ -119,6 +124,8 @@ void cowfile_write( fuse_req_t req, cow_request_t *cowRequest, off_t offset, siz
void cowfile_handleCallback( dnbd3_async_t *request );
+void cowfile_setSize( fuse_req_t req, size_t size , fuse_ino_t ino, struct fuse_file_info *fi) ;
+
void readRemoteData( cow_sub_request_t *sRequest );
int cow_printStats( char *buffer, const size_t len );