summaryrefslogtreecommitdiffstats
path: root/src/H5Opkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-11-28 17:43:54 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-11-28 17:43:54 (GMT)
commit0bd83631d5ed24fe948a273e8a4d4bd8f128a86c (patch)
treec950f5b5b4e81aa8f45f0ece90cc463e832bb2e0 /src/H5Opkg.h
parent4ef5853e2d4235e57cfe7e6ce0fcb1b9359f8966 (diff)
downloadhdf5-0bd83631d5ed24fe948a273e8a4d4bd8f128a86c.zip
hdf5-0bd83631d5ed24fe948a273e8a4d4bd8f128a86c.tar.gz
hdf5-0bd83631d5ed24fe948a273e8a4d4bd8f128a86c.tar.bz2
[svn-r12990] Description:
When using the latest version of the file format, move the "modification time" information into the object header prefix, which is more efficient. Also add "access time" and "change time" (for metadata) fields, all of which take about the same space as the previous modification time header message. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5Opkg.h')
-rw-r--r--src/H5Opkg.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/H5Opkg.h b/src/H5Opkg.h
index 679e021..18a0804 100644
--- a/src/H5Opkg.h
+++ b/src/H5Opkg.h
@@ -85,12 +85,15 @@
4 + /*reference count */ \
4) /*header data size */ \
: \
- (H5O_SIZEOF_MAGIC + /*magic number */ \
+ (H5O_SIZEOF_MAGIC + /*magic number */ \
1 + /*version number */ \
2 + /*number of messages */ \
4 + /*reference count */ \
+ 4 + /*access time */ \
+ 4 + /*modification time */ \
+ 4 + /*change time */ \
4 + /*header data size */ \
- H5O_SIZEOF_CHKSUM) /*checksum size */ \
+ H5O_SIZEOF_CHKSUM) /*checksum size */ \
)
#define H5O_SIZEOF_HDR_OH(O) \
H5O_SIZEOF_HDR_VERS((O)->version)
@@ -184,12 +187,23 @@ typedef struct H5O_chunk_t {
struct H5O_t {
H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */
/* first field in structure */
+
+ /* General information */
unsigned version; /*version number */
unsigned nlink; /*link count */
- size_t skipped_mesg_size; /*size of skipped messages (for sanity checking) */
+
+ /* Time information */
+ time_t atime; /*access time */
+ time_t mtime; /*modification time */
+ time_t ctime; /*change time */
+
+ /* Message management */
size_t nmesgs; /*number of messages */
size_t alloc_nmesgs; /*number of message slots */
H5O_mesg_t *mesg; /*array of messages */
+ size_t skipped_mesg_size; /*size of skipped messages (for sanity checking) */
+
+ /* Chunk management */
size_t nchunks; /*number of chunks */
size_t alloc_nchunks; /*chunks allocated */
H5O_chunk_t *chunk; /*array of chunks */