diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-06-14 00:30:20 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-06-14 00:30:20 (GMT) |
commit | 373038013ea82651f9fe587a0439cab710ede0b8 (patch) | |
tree | e61a32d511c5c6c3f56fbfccf0840ea244c2a308 /src/H5VLiod_client.c | |
parent | 07ccc1ab5a7c1de2b2a49ff1890ee8153663a47e (diff) | |
download | hdf5-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.c | 14 |
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; } |