summaryrefslogtreecommitdiffstats
path: root/src/fuse/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fuse/main.c')
-rw-r--r--src/fuse/main.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/fuse/main.c b/src/fuse/main.c
index 2ec59b1..ed35de7 100644
--- a/src/fuse/main.c
+++ b/src/fuse/main.c
@@ -269,7 +269,6 @@ static void image_ll_write( fuse_req_t req, fuse_ino_t ino, const char *buf, siz
cowRequest->writeBuffer = buf;
cowRequest->readBuffer = NULL;
cowRequest->errorCode = ATOMIC_VAR_INIT( 0 );
- cowRequest->replyAttr = false;
cowRequest->fuseRequestOffset = off;
cowRequest->bytesWorkedOn = ATOMIC_VAR_INIT( 0 );
cowfile_write(req, cowRequest, off, size);
@@ -283,18 +282,8 @@ static void image_ll_setattr( fuse_req_t req, fuse_ino_t ino, struct stat *attr,
}
if (to_set & FUSE_SET_ATTR_SIZE) {
if(attr->st_size > (long)*imageSizePtr) {
- cow_request_t* cowRequest = malloc(sizeof(cow_request_t));
- cowRequest->fuseRequestSize = attr->st_size - *imageSizePtr;
- cowRequest->workCounter = ATOMIC_VAR_INIT( 1 );
- cowRequest->writeBuffer = NULL;
- cowRequest->readBuffer = NULL;
- cowRequest->errorCode = ATOMIC_VAR_INIT( 0 );
- cowRequest->replyAttr = true;
- cowRequest->fi = fi;
- cowRequest->ino = ino;
- cowRequest->fuseRequestOffset = *imageSizePtr;
- cowRequest->bytesWorkedOn = ATOMIC_VAR_INIT( 0 );
- cowfile_write( req, cowRequest, *imageSizePtr, attr->st_size - *imageSizePtr);
+
+ cowfile_setSize( req, attr->st_size, ino, fi);
}
else{
*imageSizePtr = attr->st_size;