From a24e3e5c8669fd205b75d264ca44e23fc1bfc651 Mon Sep 17 00:00:00 2001
From: Mohamad Chaarawi <chaarawi@hdfgroup.org>
Date: Wed, 21 Jan 2015 13:57:55 -0500
Subject: [svn-r25994] revert adding the has_mpi_atomicity feature flag and use
 the has_mpi flag instead.

---
 src/H5FDmpio.c   |  1 -
 src/H5FDpublic.h | 10 ++--------
 src/H5Fmpi.c     |  4 ++--
 test/links.c     |  3 ++-
 4 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c
index 04ae5da..70cf49a 100644
--- a/src/H5FDmpio.c
+++ b/src/H5FDmpio.c
@@ -1224,7 +1224,6 @@ H5FD_mpio_query(const H5FD_t UNUSED *_file, unsigned long *flags /* out */)
         *flags|=H5FD_FEAT_AGGREGATE_METADATA;  /* OK to aggregate metadata allocations */
         *flags|=H5FD_FEAT_AGGREGATE_SMALLDATA; /* OK to aggregate "small" raw data allocations */
         *flags|=H5FD_FEAT_HAS_MPI;             /* This driver uses MPI */
-        *flags|=H5FD_FEAT_HAS_MPI_ATOMICITY;   /* This driver has MPI atomicity mode */
         *flags|=H5FD_FEAT_ALLOCATE_EARLY;      /* Allocate space early instead of late */
     } /* end if */
 
diff --git a/src/H5FDpublic.h b/src/H5FDpublic.h
index 452de02..df5d5cf 100644
--- a/src/H5FDpublic.h
+++ b/src/H5FDpublic.h
@@ -217,8 +217,8 @@ typedef enum H5F_mem_t	H5FD_mem_t;
      */
 #define H5FD_FEAT_HAS_MPI               0x00000100
     /*
-     * Defining the H5FD_FEAT_ALLOCATE_EARLY for a VFL driver means that
-     * the library will use the H5D_ALLOC_TIME_EARLY on dataset create
+     * Defining the H5FD_FEAT_ALLOCATE_EARLY for a VFL driver will force
+     * the library to use the H5D_ALLOC_TIME_EARLY on dataset create
      * instead of the default H5D_ALLOC_TIME_LATE
      */
 #define H5FD_FEAT_ALLOCATE_EARLY        0x00000200
@@ -234,12 +234,6 @@ typedef enum H5F_mem_t	H5FD_mem_t;
      * image to store in memory.
      */
 #define H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS 0x00000800
-    /*
-     * Defining the H5FD_FEAT_HAS_MPI_ATOMICITY for a VFL driver means
-     * that the driver is able to do atomic read/write operations as
-     * defined by MPI atomicity semantics.
-     */
-#define H5FD_FEAT_HAS_MPI_ATOMICITY    0x00001000
 
 /* Forward declaration */
 typedef struct H5FD_t H5FD_t;
diff --git a/src/H5Fmpi.c b/src/H5Fmpi.c
index cfb6f3c..39b8dfa 100644
--- a/src/H5Fmpi.c
+++ b/src/H5Fmpi.c
@@ -208,7 +208,7 @@ H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
 
     /* Check VFD */
-    if(!H5F_HAS_FEATURE(file, H5FD_FEAT_HAS_MPI_ATOMICITY))
+    if(!H5F_HAS_FEATURE(file, H5FD_FEAT_HAS_MPI))
         HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "incorrect VFL driver, does not support MPI atomicity mode")
 
     /* set atomicity value */
@@ -248,7 +248,7 @@ H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID")
 
     /* Check VFD */
-    if(!H5F_HAS_FEATURE(file, H5FD_FEAT_HAS_MPI_ATOMICITY))
+    if(!H5F_HAS_FEATURE(file, H5FD_FEAT_HAS_MPI))
         HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "incorrect VFL driver, does not support MPI atomicity mode")
 
     /* get atomicity value */
diff --git a/test/links.c b/test/links.c
index 00d8d04..6119bb3 100644
--- a/test/links.c
+++ b/test/links.c
@@ -4145,7 +4145,8 @@ external_set_elink_cb(hid_t fapl, hbool_t new_format)
     op_data.target_file = filename2;
     /* Core file driver has issues when used as the member file driver for a family file */
     /* Family file driver cannot be used with family or multi drivers for member files */
-    /* Also disable parallel member drivers, because IS_H5FD_MPI whould report FALSE, causing problems */
+    /* Also disable parallel member drivers, because H5F_HAS_FEATURE(H5FD_FEAT_HAS_MPI) 
+       would report FALSE, causing problems */
     base_driver = H5Pget_driver(fapl);
     op_data.base_fapl = (base_driver == H5FD_FAMILY || base_driver ==  H5FD_MULTI
             || base_driver == H5FD_MPIO || base_driver == H5FD_CORE) ? H5P_DEFAULT : fapl;
-- 
cgit v0.12