On Mon, Jan 08, 2007 at 11:49:32PM +0100, Adrian Knoth wrote:

> The attached patch fixes this problem, but perhaps there is

New patch, I've missed the non-NFS case.


-- 
Cluster and Metacomputing Working Group
Friedrich-Schiller-Universität Jena, Germany

private: http://adi.thur.de
Index: ompi/mca/io/romio/romio/adio/common/ad_open.c
===================================================================
--- ompi/mca/io/romio/romio/adio/common/ad_open.c       (revision 1913)
+++ ompi/mca/io/romio/romio/adio/common/ad_open.c       (working copy)
@@ -5,6 +5,9 @@
  *   See COPYRIGHT notice in top-level directory.
  */

+#include <libgen.h>
+#include <unistd.h>
+
 #include "adio.h"
 #include "adio_extern.h"
 #include "adio_cb_config_list.h"
@@ -226,6 +229,17 @@
     }
     fd->access_mode = access_mode;

+    if ((ADIO_NFS == fd->file_system)) {
+        char *dirc = ADIOI_Strdup(filename);
+        char *dname = dirname (dirc);
+        int my_fd;
+
+        my_fd = open (dname, O_RDONLY);
+        //stat (my_fd, NULL);
+        close (my_fd);
+        ADIOI_Free(dirc);
+        free (dname);
+    }
     (*(fd->fns->ADIOI_xxx_Open))(fd, error_code);

     /* if error, may be it was due to the change in amode above. 

Reply via email to