summaryrefslogtreecommitdiffstats
path: root/src/H5FDsubfiling/H5FDioc_int.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5FDsubfiling/H5FDioc_int.c')
-rw-r--r--src/H5FDsubfiling/H5FDioc_int.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/H5FDsubfiling/H5FDioc_int.c b/src/H5FDsubfiling/H5FDioc_int.c
index 5528fc8..75a36d0 100644
--- a/src/H5FDsubfiling/H5FDioc_int.c
+++ b/src/H5FDsubfiling/H5FDioc_int.c
@@ -297,9 +297,13 @@ ioc__read_independent_async(int64_t context_id, int64_t offset, int64_t elements
* unpredictable order. However, if some IOCs own more than
* 1 subfile, we need to associate each read with a unique
* message tag to make sure the data is received in the
- * correct order.
+ * correct order. We also need a unique message tag in the
+ * case where only 1 subfile is used in total. In this case,
+ * vector I/O calls are passed directly down to this VFD without
+ * being split up into multiple I/O requests, so we need the
+ * tag to distinguish each I/O request.
*/
- need_data_tag = num_subfiles != num_io_concentrators;
+ need_data_tag = (num_subfiles == 1) || (num_subfiles != num_io_concentrators);
if (!need_data_tag)
data_tag = READ_INDEP_DATA;