From 66c1a254f0f561c290b90917ef191b25cdc9d8dd Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Wed, 21 Oct 2015 23:49:49 -0500 Subject: [svn-r28179] h5watch can now open VDS files, though it will not detect changes until the source files are closed. Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) gcc 4.9.2 serial only --- hl/tools/h5watch/h5watch.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/hl/tools/h5watch/h5watch.c b/hl/tools/h5watch/h5watch.c index 7bb86a2..ea37dae 100644 --- a/hl/tools/h5watch/h5watch.c +++ b/hl/tools/h5watch/h5watch.c @@ -524,6 +524,7 @@ check_dataset(hid_t fid, char *dsetname) hbool_t unlim_max_dims = FALSE; /* whether dataset has unlimited or max. dimension setting */ void *edata; H5E_auto2_t func; + H5D_layout_t layout; herr_t ret_value = SUCCEED; /* Return value */ /* Disable error reporting */ @@ -539,16 +540,21 @@ check_dataset(hid_t fid, char *dsetname) /* Get dataset's creation property list */ if((dcp = H5Dget_create_plist(did)) < 0) { - error_msg("unable to get dataset's creation property list\"%s\"\n", dsetname); - ret_value = FAIL; - goto done; + error_msg("unable to get dataset's creation property list \"%s\"\n", dsetname); + ret_value = FAIL; + goto done; } - /* Query dataset's layout; the layout should be chunked */ - if(H5Pget_layout(dcp) != H5D_CHUNKED) { - error_msg("\"%s\" should be a chunked dataset\n", dsetname); - ret_value = FAIL; - goto done; + /* Query dataset's layout; the layout should be chunked or virtual */ + if((layout = H5Pget_layout(dcp)) < 0) { + error_msg("unable to get dataset layout \"%s\"\n", dsetname); + ret_value = FAIL; + goto done; + } + if(layout != H5D_CHUNKED && layout != H5D_VIRTUAL) { + error_msg("\"%s\" should be a chunked or virtual dataset\n", dsetname); + ret_value = FAIL; + goto done; } HDmemset(cur_dims, 0, sizeof cur_dims); -- cgit v0.12