Lines Matching refs:oh

90 static herr_t H5O__chunk_deserialize(H5O_t *oh, haddr_t addr, size_t len,
92 static herr_t H5O__chunk_serialize(const H5F_t *f, H5O_t *oh, unsigned chunkno);
222 HDassert(udata->oh); in H5O__cache_get_final_load_size()
225 *actual_len = udata->chunk0_size + (size_t)H5O_SIZEOF_HDR(udata->oh); in H5O__cache_get_final_load_size()
258 HDassert(udata->oh); in H5O__cache_verify_chksum()
261 if(udata->oh->version != H5O_VERSION_1) { in H5O__cache_verify_chksum()
270 HDassert(udata->oh->chunk == NULL); in H5O__cache_verify_chksum()
271 HDassert(udata->oh->mesg == NULL); in H5O__cache_verify_chksum()
272 HDassert(udata->oh->proxy == NULL); in H5O__cache_verify_chksum()
311 H5O_t *oh = NULL; /* Object header read in */ in H5O__cache_deserialize() local
330 if(NULL == udata->oh) { in H5O__cache_deserialize()
336 HDassert(udata->oh); in H5O__cache_deserialize()
340 oh = udata->oh; in H5O__cache_deserialize()
343 oh->swmr_write = !!(H5F_INTENT(udata->common.f) & H5F_ACC_SWMR_WRITE); in H5O__cache_deserialize()
346 if(oh->swmr_write) { in H5O__cache_deserialize()
348 if(NULL == (oh->proxy = H5AC_proxy_entry_create())) in H5O__cache_deserialize()
352 oh->proxy = NULL; in H5O__cache_deserialize()
355 …if(H5O__chunk_deserialize(oh, udata->common.addr, udata->chunk0_size, (const uint8_t *)image, &(ud… in H5O__cache_deserialize()
362 ret_value = oh; in H5O__cache_deserialize()
366 if(!ret_value && oh) in H5O__cache_deserialize()
367 if(H5O__free(oh) < 0) in H5O__cache_deserialize()
392 const H5O_t *oh = (const H5O_t *)_thing; /* Object header to query */ in H5O__cache_image_len() local
397 HDassert(oh); in H5O__cache_image_len()
398 HDassert(oh->cache_info.magic == H5C__H5C_CACHE_ENTRY_T_MAGIC); in H5O__cache_image_len()
399 HDassert(oh->cache_info.type == H5AC_OHDR); in H5O__cache_image_len()
403 *image_len = oh->chunk[0].size; in H5O__cache_image_len()
426 H5O_t *oh = (H5O_t *)_thing; /* Object header to encode */ in H5O__cache_serialize() local
435 HDassert(oh); in H5O__cache_serialize()
436 HDassert(oh->cache_info.magic == H5C__H5C_CACHE_ENTRY_T_MAGIC); in H5O__cache_serialize()
437 HDassert(oh->cache_info.type == H5AC_OHDR); in H5O__cache_serialize()
438 HDassert(oh->chunk[0].size == len); in H5O__cache_serialize()
440 H5O_assert(oh); in H5O__cache_serialize()
446 chunk_image = oh->chunk[0].image; in H5O__cache_serialize()
453 if(oh->version > H5O_VERSION_1) { in H5O__cache_serialize()
456 HDassert(oh->chunk[0].size >= (size_t)H5O_SIZEOF_HDR(oh)); in H5O__cache_serialize()
457 chunk0_size = oh->chunk[0].size - (size_t)H5O_SIZEOF_HDR(oh); in H5O__cache_serialize()
464 *chunk_image++ = oh->version; in H5O__cache_serialize()
467 *chunk_image++ = oh->flags; in H5O__cache_serialize()
470 if(oh->flags & H5O_HDR_STORE_TIMES) { in H5O__cache_serialize()
471 UINT32ENCODE(chunk_image, oh->atime); in H5O__cache_serialize()
472 UINT32ENCODE(chunk_image, oh->mtime); in H5O__cache_serialize()
473 UINT32ENCODE(chunk_image, oh->ctime); in H5O__cache_serialize()
474 UINT32ENCODE(chunk_image, oh->btime); in H5O__cache_serialize()
478 if(oh->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) { in H5O__cache_serialize()
479 UINT16ENCODE(chunk_image, oh->max_compact); in H5O__cache_serialize()
480 UINT16ENCODE(chunk_image, oh->min_dense); in H5O__cache_serialize()
484 switch(oh->flags & H5O_HDR_CHUNK0_SIZE) { in H5O__cache_serialize()
511 *chunk_image++ = oh->version; in H5O__cache_serialize()
518 if(oh->store_bad_mesg_count) in H5O__cache_serialize()
519 UINT16ENCODE(chunk_image, (oh->nmesgs - 1)) in H5O__cache_serialize()
522 UINT16ENCODE(chunk_image, oh->nmesgs); in H5O__cache_serialize()
525 UINT32ENCODE(chunk_image, oh->nlink); in H5O__cache_serialize()
528 UINT32ENCODE(chunk_image, (oh->chunk[0].size - (size_t)H5O_SIZEOF_HDR(oh))); in H5O__cache_serialize()
531 HDmemset(chunk_image, 0, (size_t)(H5O_SIZEOF_HDR(oh) - 12)); in H5O__cache_serialize()
532 chunk_image += (size_t)(H5O_SIZEOF_HDR(oh) - 12); in H5O__cache_serialize()
535 …HDassert((size_t)(chunk_image - oh->chunk[0].image) == (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CH… in H5O__cache_serialize()
538 if(H5O__chunk_serialize(f, oh, (unsigned)0) < 0) in H5O__cache_serialize()
545 HDmemcpy(image, oh->chunk[0].image, len); in H5O__cache_serialize()
567 H5O_t *oh = (H5O_t *)_thing; in H5O__cache_notify() local
575 HDassert(oh); in H5O__cache_notify()
580 if(oh->swmr_write) { in H5O__cache_notify()
582 HDassert(oh->proxy); in H5O__cache_notify()
585 if(H5AC_proxy_entry_add_parent(oh->proxy, oh) < 0) in H5O__cache_notify()
600 for(u = 0; u < oh->nmesgs; u++) in H5O__cache_notify()
601 if(oh->mesg[u].chunkno == 0) in H5O__cache_notify()
602 oh->mesg[u].dirty = FALSE; in H5O__cache_notify()
605 oh->ndecode_dirtied = 0; in H5O__cache_notify()
618 if(oh->swmr_write) { in H5O__cache_notify()
620 if(H5AC_proxy_entry_remove_parent(oh->proxy, oh) < 0) in H5O__cache_notify()
654 H5O_t *oh = (H5O_t *)_thing; /* Object header to destroy */ in H5O__cache_free_icr() local
660 HDassert(oh); in H5O__cache_free_icr()
661 HDassert(oh->cache_info.magic == H5C__H5C_CACHE_ENTRY_T_BAD_MAGIC); in H5O__cache_free_icr()
662 HDassert(oh->cache_info.type == H5AC_OHDR); in H5O__cache_free_icr()
665 if(H5O__free(oh) < 0) in H5O__cache_free_icr()
697 HDassert(udata->oh); in H5O__cache_chk_get_initial_load_size()
734 if(udata->oh->version != H5O_VERSION_1) { in H5O__cache_chk_verify_chksum()
778 HDassert(udata->oh); in H5O__cache_chk_deserialize()
793 …if(H5O__chunk_deserialize(udata->oh, udata->common.addr, udata->size, (const uint8_t *)image, &(ud… in H5O__cache_chk_deserialize()
797 H5_CHECKED_ASSIGN(chk_proxy->chunkno, unsigned, udata->oh->nchunks - 1, size_t); in H5O__cache_chk_deserialize()
801 HDassert(udata->chunkno < udata->oh->nchunks); in H5O__cache_chk_deserialize()
809 …HDassert(0 == HDmemcmp(image, udata->oh->chunk[chk_proxy->chunkno].image, udata->oh->chunk[chk_pro… in H5O__cache_chk_deserialize()
813 if(H5O__inc_rc(udata->oh) < 0) in H5O__cache_chk_deserialize()
815 chk_proxy->oh = udata->oh; in H5O__cache_chk_deserialize()
854 HDassert(chk_proxy->oh); in H5O__cache_chk_image_len()
857 *image_len = chk_proxy->oh->chunk[chk_proxy->chunkno].size; in H5O__cache_chk_image_len()
893 HDassert(chk_proxy->oh); in H5O__cache_chk_serialize()
894 HDassert(chk_proxy->oh->chunk[chk_proxy->chunkno].size == len); in H5O__cache_chk_serialize()
897 if(H5O__chunk_serialize(f, chk_proxy->oh, chk_proxy->chunkno) < 0) in H5O__cache_chk_serialize()
903 HDmemcpy(image, chk_proxy->oh->chunk[chk_proxy->chunkno].image, len); in H5O__cache_chk_serialize()
934 HDassert(chk_proxy->oh); in H5O__cache_chk_notify()
939 if(chk_proxy->oh->swmr_write) { in H5O__cache_chk_notify()
957 if(H5AC_create_flush_dependency(chk_proxy->oh, chk_proxy) < 0) in H5O__cache_chk_notify()
964 HDassert(chk_proxy->oh->proxy); in H5O__cache_chk_notify()
967 if(H5AC_proxy_entry_add_parent(chk_proxy->oh->proxy, chk_proxy) < 0) in H5O__cache_chk_notify()
983 for(u = 0; u < chk_proxy->oh->nmesgs; u++) in H5O__cache_chk_notify()
984 if(chk_proxy->oh->mesg[u].chunkno == chk_proxy->chunkno) in H5O__cache_chk_notify()
985 chk_proxy->oh->mesg[u].dirty = FALSE; in H5O__cache_chk_notify()
997 if(chk_proxy->oh->swmr_write) { in H5O__cache_chk_notify()
1011 if(H5AC_destroy_flush_dependency(chk_proxy->oh, chk_proxy) < 0) in H5O__cache_chk_notify()
1015 if(H5AC_proxy_entry_remove_parent(chk_proxy->oh->proxy, chk_proxy) < 0) in H5O__cache_chk_notify()
1139 H5O_t *oh = NULL; /* Object header read in */ in H5O__prefix_deserialize() local
1149 if(NULL == (oh = H5FL_CALLOC(H5O_t))) in H5O__prefix_deserialize()
1153 oh->sizeof_size = H5F_SIZEOF_SIZE(udata->common.f); in H5O__prefix_deserialize()
1154 oh->sizeof_addr = H5F_SIZEOF_ADDR(udata->common.f); in H5O__prefix_deserialize()
1163 oh->version = *image++; in H5O__prefix_deserialize()
1164 if(H5O_VERSION_2 != oh->version) in H5O__prefix_deserialize()
1168 oh->flags = *image++; in H5O__prefix_deserialize()
1169 if(oh->flags & ~H5O_HDR_ALL_FLAGS) in H5O__prefix_deserialize()
1173 oh->nlink = 1; in H5O__prefix_deserialize()
1176 if(oh->flags & H5O_HDR_STORE_TIMES) { in H5O__prefix_deserialize()
1180 oh->atime = (time_t)tmp; in H5O__prefix_deserialize()
1182 oh->mtime = (time_t)tmp; in H5O__prefix_deserialize()
1184 oh->ctime = (time_t)tmp; in H5O__prefix_deserialize()
1186 oh->btime = (time_t)tmp; in H5O__prefix_deserialize()
1189 oh->atime = oh->mtime = oh->ctime = oh->btime = 0; in H5O__prefix_deserialize()
1192 if(oh->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) { in H5O__prefix_deserialize()
1193 UINT16DECODE(image, oh->max_compact); in H5O__prefix_deserialize()
1194 UINT16DECODE(image, oh->min_dense); in H5O__prefix_deserialize()
1195 if(oh->max_compact < oh->min_dense) in H5O__prefix_deserialize()
1199 oh->max_compact = H5O_CRT_ATTR_MAX_COMPACT_DEF; in H5O__prefix_deserialize()
1200 oh->min_dense = H5O_CRT_ATTR_MIN_DENSE_DEF; in H5O__prefix_deserialize()
1204 switch(oh->flags & H5O_HDR_CHUNK0_SIZE) { in H5O__prefix_deserialize()
1224 if(udata->chunk0_size > 0 && udata->chunk0_size < H5O_SIZEOF_MSGHDR_OH(oh)) in H5O__prefix_deserialize()
1229 oh->version = *image++; in H5O__prefix_deserialize()
1230 if(H5O_VERSION_1 != oh->version) in H5O__prefix_deserialize()
1234 oh->flags = H5O_CRT_OHDR_FLAGS_DEF; in H5O__prefix_deserialize()
1243 UINT32DECODE(image, oh->nlink); in H5O__prefix_deserialize()
1246 oh->atime = oh->mtime = oh->ctime = oh->btime = 0; in H5O__prefix_deserialize()
1249 oh->max_compact = 0; in H5O__prefix_deserialize()
1250 oh->min_dense = 0; in H5O__prefix_deserialize()
1254 if((udata->v1_pfx_nmesgs > 0 && udata->chunk0_size < H5O_SIZEOF_MSGHDR_OH(oh)) || in H5O__prefix_deserialize()
1263 HDassert((size_t)(image - _image) == (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CHKSUM_OH(oh))); in H5O__prefix_deserialize()
1269 H5O_t *saved_oh = udata->oh; in H5O__prefix_deserialize()
1270 HDassert(udata->oh); in H5O__prefix_deserialize()
1273 udata->oh = oh; in H5O__prefix_deserialize()
1279 udata->oh = oh; in H5O__prefix_deserialize()
1281 oh = NULL; in H5O__prefix_deserialize()
1285 if(ret_value < 0 && oh) in H5O__prefix_deserialize()
1286 if(H5O__free(oh) < 0) in H5O__prefix_deserialize()
1308 H5O__chunk_deserialize(H5O_t *oh, haddr_t addr, size_t len, const uint8_t *image, in H5O__chunk_deserialize() argument
1324 HDassert(oh); in H5O__chunk_deserialize()
1331 if(oh->nchunks >= oh->alloc_nchunks) { in H5O__chunk_deserialize()
1332 … size_t na = MAX(H5O_NCHUNKS, oh->alloc_nchunks * 2); /* Double # of chunks allocated */ in H5O__chunk_deserialize()
1335 if(NULL == (x = H5FL_SEQ_REALLOC(H5O_chunk_t, oh->chunk, na))) in H5O__chunk_deserialize()
1337 oh->alloc_nchunks = na; in H5O__chunk_deserialize()
1338 oh->chunk = x; in H5O__chunk_deserialize()
1342 chunkno = (unsigned)oh->nchunks++; in H5O__chunk_deserialize()
1343 oh->chunk[chunkno].gap = 0; in H5O__chunk_deserialize()
1344 oh->chunk[chunkno].addr = addr; in H5O__chunk_deserialize()
1347 oh->chunk[0].size = len + (size_t)H5O_SIZEOF_HDR(oh); in H5O__chunk_deserialize()
1349 oh->chunk[chunkno].size = len; in H5O__chunk_deserialize()
1350 if(NULL == (oh->chunk[chunkno].image = H5FL_BLK_MALLOC(chunk_image, oh->chunk[chunkno].size))) in H5O__chunk_deserialize()
1352 oh->chunk[chunkno].chunk_proxy = NULL; in H5O__chunk_deserialize()
1355 HDmemcpy(oh->chunk[chunkno].image, image, oh->chunk[chunkno].size); in H5O__chunk_deserialize()
1358 chunk_image = oh->chunk[chunkno].image; in H5O__chunk_deserialize()
1363 chunk_image += (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CHKSUM_OH(oh)); in H5O__chunk_deserialize()
1365 else if(chunkno > 0 && oh->version > H5O_VERSION_1) { in H5O__chunk_deserialize()
1373 eom_ptr = oh->chunk[chunkno].image + (oh->chunk[chunkno].size - H5O_SIZEOF_CHKSUM_OH(oh)); in H5O__chunk_deserialize()
1386 if(oh->version == H5O_VERSION_1) in H5O__chunk_deserialize()
1393 HDassert(mesg_size == H5O_ALIGN_OH(oh, mesg_size)); in H5O__chunk_deserialize()
1411 if(oh->version == H5O_VERSION_1) in H5O__chunk_deserialize()
1415 if(oh->flags & H5O_HDR_ATTR_CRT_ORDER_TRACKED) in H5O__chunk_deserialize()
1433 H5O_NULL_ID == id && oh->nmesgs > 0 && in H5O__chunk_deserialize()
1434 H5O_NULL_ID == oh->mesg[oh->nmesgs - 1].type->id && in H5O__chunk_deserialize()
1435 oh->mesg[oh->nmesgs - 1].chunkno == chunkno) { in H5O__chunk_deserialize()
1440 mesgno = oh->nmesgs - 1; in H5O__chunk_deserialize()
1441 oh->mesg[mesgno].raw_size += (size_t)H5O_SIZEOF_MSGHDR_OH(oh) + mesg_size; in H5O__chunk_deserialize()
1442 oh->mesg[mesgno].dirty = TRUE; in H5O__chunk_deserialize()
1450 if(oh->nmesgs >= oh->alloc_nmesgs) in H5O__chunk_deserialize()
1451 if(H5O_alloc_msgs(oh, (size_t)1) < 0) in H5O__chunk_deserialize()
1455 mesg = &oh->mesg[oh->nmesgs]; in H5O__chunk_deserialize()
1458 oh->nmesgs++; in H5O__chunk_deserialize()
1547 if(oh->version <= H5O_VERSION_1) in H5O__chunk_deserialize()
1555 oh->has_refcount_msg = TRUE; in H5O__chunk_deserialize()
1558 oh->nlink = *refcount; in H5O__chunk_deserialize()
1563 oh->link_msgs_seen++; in H5O__chunk_deserialize()
1568 oh->attr_msgs_seen++; in H5O__chunk_deserialize()
1582 if((eom_ptr - chunk_image) > 0 && (eom_ptr - chunk_image) < H5O_SIZEOF_MSGHDR_OH(oh)) { in H5O__chunk_deserialize()
1584 HDassert(oh->version > H5O_VERSION_1); in H5O__chunk_deserialize()
1590 oh->chunk[chunkno].gap = (size_t)(eom_ptr - chunk_image); in H5O__chunk_deserialize()
1593 chunk_image += oh->chunk[chunkno].gap; in H5O__chunk_deserialize()
1598 if(oh->version > H5O_VERSION_1) { in H5O__chunk_deserialize()
1608 HDassert(chunk_image == oh->chunk[chunkno].image + oh->chunk[chunkno].size); in H5O__chunk_deserialize()
1644 H5O__chunk_serialize(const H5F_t *f, H5O_t *oh, unsigned chunkno) in H5O__chunk_serialize() argument
1654 HDassert(oh); in H5O__chunk_serialize()
1657 for(u = 0, curr_msg = &oh->mesg[0]; u < oh->nmesgs; u++, curr_msg++) in H5O__chunk_serialize()
1660 if(H5O_msg_flush((H5F_t *)f, oh, curr_msg) < 0) in H5O__chunk_serialize()
1664 if(oh->version > H5O_VERSION_1) in H5O__chunk_serialize()
1666 …HDassert(!HDmemcmp(oh->chunk[chunkno].image, (chunkno == 0 ? H5O_HDR_MAGIC : H5O_CHK_MAGIC), H5_SI… in H5O__chunk_serialize()
1669 HDassert(oh->chunk[chunkno].gap == 0); in H5O__chunk_serialize()
1672 if(oh->version > H5O_VERSION_1) { in H5O__chunk_serialize()
1677 if(oh->chunk[chunkno].gap) in H5O__chunk_serialize()
1678 HDmemset((oh->chunk[chunkno].image + oh->chunk[chunkno].size) - in H5O__chunk_serialize()
1679 (H5O_SIZEOF_CHKSUM + oh->chunk[chunkno].gap), 0, oh->chunk[chunkno].gap); in H5O__chunk_serialize()
1682 …metadata_chksum = H5_checksum_metadata(oh->chunk[chunkno].image, (oh->chunk[chunkno].size - H5O_SI… in H5O__chunk_serialize()
1685 chunk_image = oh->chunk[chunkno].image + (oh->chunk[chunkno].size - H5O_SIZEOF_CHKSUM); in H5O__chunk_serialize()