summaryrefslogtreecommitdiffstats
path: root/src/H5HFpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-01-06 20:50:45 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-01-06 20:50:45 (GMT)
commitd6c27d4b4d82d794e860770f5903e84511596d19 (patch)
treeffd0b2a1dac38b61048dc8636c453125a5e365a4 /src/H5HFpkg.h
parent869ed6e043dfc20b6b6dfda6728c3442ef0409be (diff)
downloadhdf5-d6c27d4b4d82d794e860770f5903e84511596d19.zip
hdf5-d6c27d4b4d82d794e860770f5903e84511596d19.tar.gz
hdf5-d6c27d4b4d82d794e860770f5903e84511596d19.tar.bz2
[svn-r13115] Description:
Allow a heap to be marked for deletion while it is still open and being accessed. (Blocks further opens though). Tested on: FreeBSD/32 6.1 (duty)
Diffstat (limited to 'src/H5HFpkg.h')
-rw-r--r--src/H5HFpkg.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/H5HFpkg.h b/src/H5HFpkg.h
index 676a63e..6e6951d 100644
--- a/src/H5HFpkg.h
+++ b/src/H5HFpkg.h
@@ -71,8 +71,8 @@
)
/* Flags for status byte */
-#define H5HF_HDR_FLAGS_HUGE_ID_WRAPPED 0x01
-#define H5HF_HDR_FLAGS_CHECKSUM_DBLOCKS 0x02
+#define H5HF_HDR_FLAGS_HUGE_ID_WRAPPED 0x01 /* "huge" object IDs have wrapped */
+#define H5HF_HDR_FLAGS_CHECKSUM_DBLOCKS 0x02 /* checksum direct blocks */
/* Size of the fractal heap header on disk */
/* (this is the fixed-len portion, the variable-len I/O filter information
@@ -348,6 +348,7 @@ typedef struct H5HF_hdr_t {
H5AC_protect_t mode; /* Access mode for heap */
H5F_t *f; /* Pointer to file for heap */
size_t file_rc; /* Reference count of files using heap header */
+ hbool_t pending_delete; /* Heap is pending deletion */
size_t sizeof_size; /* Size of file sizes */
size_t sizeof_addr; /* Size of file addresses */
struct H5HF_indirect_t *root_iblock; /* Pointer to pinned root indirect block */
@@ -569,6 +570,7 @@ H5_DLL herr_t H5HF_hdr_reverse_iter(H5HF_hdr_t *hdr, hid_t dxpl_id,
haddr_t dblock_addr);
H5_DLL herr_t H5HF_hdr_reset_iter(H5HF_hdr_t *hdr, hsize_t curr_off);
H5_DLL herr_t H5HF_hdr_empty(H5HF_hdr_t *hdr);
+H5_DLL herr_t H5HF_hdr_delete(H5HF_hdr_t *hdr, hid_t dxpl_id);
/* Indirect block routines */
H5_DLL herr_t H5HF_iblock_incr(H5HF_indirect_t *iblock);