• Home
  • Raw
  • Download

Lines Matching refs:header

196 	struct cow_header_v3 *header;  in write_cow_header()  local
207 header = cow_malloc(sizeof(*header)); in write_cow_header()
208 if (header == NULL) { in write_cow_header()
213 header->magic = htonl(COW_MAGIC); in write_cow_header()
214 header->version = htonl(COW_VERSION); in write_cow_header()
217 if (strlen(backing_file) > sizeof(header->backing_file) - 1) { in write_cow_header()
221 sizeof(header->backing_file) - 1); in write_cow_header()
225 if (absolutize(header->backing_file, sizeof(header->backing_file), in write_cow_header()
229 err = os_file_modtime(header->backing_file, &modtime); in write_cow_header()
232 "request failed, err = %d\n", header->backing_file, in write_cow_header()
237 err = cow_file_size(header->backing_file, size); in write_cow_header()
241 header->backing_file, -err); in write_cow_header()
245 header->mtime = htonl(modtime); in write_cow_header()
246 header->size = htonll(*size); in write_cow_header()
247 header->sectorsize = htonl(sectorsize); in write_cow_header()
248 header->alignment = htonl(alignment); in write_cow_header()
249 header->cow_format = COW_BITMAP; in write_cow_header()
251 err = cow_write_file(fd, header, sizeof(*header)); in write_cow_header()
252 if (err != sizeof(*header)) { in write_cow_header()
260 cow_free(header); in write_cow_header()
280 union cow_header *header; in read_cow_header() local
285 header = cow_malloc(sizeof(*header)); in read_cow_header()
286 if (header == NULL) { in read_cow_header()
291 n = (*reader)(0, (char *) header, sizeof(*header), arg); in read_cow_header()
292 if (n < offsetof(typeof(header->v1), backing_file)) { in read_cow_header()
297 magic = header->v1.magic; in read_cow_header()
299 version = header->v1.version; in read_cow_header()
301 version = ntohl(header->v1.version); in read_cow_header()
308 if (n < sizeof(header->v1)) { in read_cow_header()
313 *mtime_out = header->v1.mtime; in read_cow_header()
314 *size_out = header->v1.size; in read_cow_header()
315 *sectorsize_out = header->v1.sectorsize; in read_cow_header()
316 *bitmap_offset_out = sizeof(header->v1); in read_cow_header()
318 file = header->v1.backing_file; in read_cow_header()
321 if (n < sizeof(header->v2)) { in read_cow_header()
326 *mtime_out = ntohl(header->v2.mtime); in read_cow_header()
327 *size_out = ntohll(header->v2.size); in read_cow_header()
328 *sectorsize_out = ntohl(header->v2.sectorsize); in read_cow_header()
329 *bitmap_offset_out = sizeof(header->v2); in read_cow_header()
331 file = header->v2.backing_file; in read_cow_header()
334 else if (version == 3 && (*((int*)header->v3.backing_file) != 0)) { in read_cow_header()
335 if (n < sizeof(header->v3)) { in read_cow_header()
340 *mtime_out = ntohl(header->v3.mtime); in read_cow_header()
341 *size_out = ntohll(header->v3.size); in read_cow_header()
342 *sectorsize_out = ntohl(header->v3.sectorsize); in read_cow_header()
343 *align_out = ntohl(header->v3.alignment); in read_cow_header()
348 *bitmap_offset_out = ROUND_UP(sizeof(header->v3), *align_out); in read_cow_header()
349 file = header->v3.backing_file; in read_cow_header()
355 if (n < sizeof(header->v3_b)) { in read_cow_header()
370 *mtime_out = (time32_t) ntohl(header->v3_b.mtime); in read_cow_header()
372 *size_out = ntohll(header->v3_b.size); in read_cow_header()
373 *sectorsize_out = ntohl(header->v3_b.sectorsize); in read_cow_header()
374 *align_out = ntohl(header->v3_b.alignment); in read_cow_header()
379 *bitmap_offset_out = ROUND_UP(sizeof(header->v3_b), *align_out); in read_cow_header()
380 file = header->v3_b.backing_file; in read_cow_header()
395 cow_free(header); in read_cow_header()