summaryrefslogtreecommitdiffstats
path: root/src/H5VLiod_client.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2013-06-14 00:30:20 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2013-06-14 00:30:20 (GMT)
commit373038013ea82651f9fe587a0439cab710ede0b8 (patch)
treee61a32d511c5c6c3f56fbfccf0840ea244c2a308 /src/H5VLiod_client.c
parent07ccc1ab5a7c1de2b2a49ff1890ee8153663a47e (diff)
downloadhdf5-373038013ea82651f9fe587a0439cab710ede0b8.zip
hdf5-373038013ea82651f9fe587a0439cab710ede0b8.tar.gz
hdf5-373038013ea82651f9fe587a0439cab710ede0b8.tar.bz2
[svn-r23769] add property to indicate append
add a new version of checksum algorithm to correctly save the state other updates...
Diffstat (limited to 'src/H5VLiod_client.c')
-rw-r--r--src/H5VLiod_client.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/H5VLiod_client.c b/src/H5VLiod_client.c
index 022f5ab..a34521c 100644
--- a/src/H5VLiod_client.c
+++ b/src/H5VLiod_client.c
@@ -26,6 +26,7 @@
#include "H5Iprivate.h" /* IDs */
#include "H5MMprivate.h" /* Memory management */
#include "H5Pprivate.h" /* Property lists */
+#include "H5Sprivate.h" /* Dataspaces */
#include "H5VLprivate.h" /* VOL plugins */
#include "H5VLiod.h" /* Iod VOL plugin */
#include "H5VLiod_common.h"
@@ -346,7 +347,7 @@ H5VL_iod_request_complete(H5VL_iod_file_t *file, H5VL_iod_request_t *req)
req->state = H5VL_IOD_COMPLETED;
}
if(HG_DSET_WRITE == req->type && SUCCEED != *((int *)info->status)) {
- fprintf(stderr, "write failed %d\n", *((int *)info->status));
+ fprintf(stderr, "Errrr! Dataset Write Failure Reported from Server\n");
req->status = H5AO_FAILED;
req->state = H5VL_IOD_COMPLETED;
}
@@ -354,7 +355,7 @@ H5VL_iod_request_complete(H5VL_iod_file_t *file, H5VL_iod_request_t *req)
H5VL_iod_read_status_t *read_status = (H5VL_iod_read_status_t *)info->status;
if(SUCCEED != read_status->ret) {
- fprintf(stderr, "read failed\n");
+ fprintf(stderr, "Errrr! Dataset Read Failure Reported from Server\n");
req->status = H5AO_FAILED;
req->state = H5VL_IOD_COMPLETED;
}
@@ -362,15 +363,18 @@ H5VL_iod_request_complete(H5VL_iod_file_t *file, H5VL_iod_request_t *req)
uint32_t internal_cs;
/* calculate a checksum for the data recieved */
- internal_cs = H5_checksum_fletcher32(info->buf_ptr, info->buf_size);
+ internal_cs = H5S_checksum(info->buf_ptr, info->type_size,
+ info->nelmts, info->space);
/* verify data integrity */
if(internal_cs != read_status->cs) {
- fprintf(stderr, "Errrrr! Data integrity failure (expecting %u got %u).\n",
+ fprintf(stderr, "Errrrr! Dataset Read integrity failure (expecting %u got %u).\n",
read_status->cs, internal_cs);
req->status = H5AO_FAILED;
req->state = H5VL_IOD_COMPLETED;
}
+ if(info->space && H5S_close(info->space) < 0)
+ HDONE_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release dataspace")
}
}
@@ -394,7 +398,7 @@ H5VL_iod_request_complete(H5VL_iod_file_t *file, H5VL_iod_request_t *req)
req->state = H5VL_IOD_COMPLETED;
}
if(SUCCEED != *((int *)info->status)) {
- fprintf(stderr, "write failed %d\n", *((int *)info->status));
+ fprintf(stderr, "Attribute I/O Failure Reported from Server\n");
req->status = H5AO_FAILED;
req->state = H5VL_IOD_COMPLETED;
}