summaryrefslogtreecommitdiffstats
path: root/src/H5Fistore.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Fistore.c')
-rw-r--r--src/H5Fistore.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/H5Fistore.c b/src/H5Fistore.c
index 8c9d22e..262a58f 100644
--- a/src/H5Fistore.c
+++ b/src/H5Fistore.c
@@ -994,7 +994,8 @@ H5F_istore_lock (H5F_t *f, const H5O_layout_t *layout,
/* First use the hint */
if (idx_hint && *idx_hint>=0 && *idx_hint<rdcc->nused) {
ent = rdcc->slot + *idx_hint;
- if (layout->ndims==ent->layout->ndims) {
+ if (layout->ndims==ent->layout->ndims &&
+ H5F_addr_eq(&(layout->addr), &(ent->layout->addr))) {
for (i=0, found=*idx_hint; found>=0 && i<ent->layout->ndims; i++) {
if (offset[i]!=ent->offset[i]) found = -1;
}
@@ -1004,7 +1005,8 @@ H5F_istore_lock (H5F_t *f, const H5O_layout_t *layout,
/* Then look at all the entries */
for (i=0; found<0 && i<rdcc->nused; i++) {
ent = rdcc->slot + i;
- if (layout->ndims==ent->layout->ndims) {
+ if (layout->ndims==ent->layout->ndims &&
+ H5F_addr_eq(&(layout->addr), &(ent->layout->addr))) {
for (j=0, found=i; found>=0 && j<ent->layout->ndims; j++) {
if (offset[j]!=ent->offset[j]) found = -1;
}