summaryrefslogtreecommitdiffstats
path: root/src/server/image.c
diff options
context:
space:
mode:
authorSimon Rettberg2020-03-06 15:00:46 +0100
committerSimon Rettberg2020-03-06 15:00:46 +0100
commitff4e770e645c05da48baddb30a77b9dc15ca76fd (patch)
tree7eb155343d7b5ece21479fa8f81524cfba7b672e /src/server/image.c
parent[SERVER] Reload cache maps periodically for local images (diff)
downloaddnbd3-ff4e770e645c05da48baddb30a77b9dc15ca76fd.tar.gz
dnbd3-ff4e770e645c05da48baddb30a77b9dc15ca76fd.tar.xz
dnbd3-ff4e770e645c05da48baddb30a77b9dc15ca76fd.zip
[SERVER] Handle "warn unused result" cases
Diffstat (limited to 'src/server/image.c')
-rw-r--r--src/server/image.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/image.c b/src/server/image.c
index 7ffe041..32c9efe 100644
--- a/src/server/image.c
+++ b/src/server/image.c
@@ -1446,9 +1446,13 @@ static bool image_clone(int sock, char *name, uint16_t revision, uint64_t imageS
logadd( LOG_WARNING, "OTF-Clone: Corrupted CRC-32 list. ignored. (%s)", name );
} else {
int fd = open( crcFile, O_WRONLY | O_CREAT, 0644 );
- write( fd, &masterCrc, sizeof(uint32_t) );
- write( fd, crc32list, crc32len );
+ ssize_t ret = write( fd, &masterCrc, sizeof(masterCrc) );
+ ret += write( fd, crc32list, crc32len );
close( fd );
+ if ( (size_t)ret != crc32len + sizeof(masterCrc) ) {
+ logadd( LOG_WARNING, "Could not save freshly received crc32 list for %s:%d", name, (int)revision );
+ unlink( crcFile );
+ }
}
}
free( crc32list );