Skip to content

Conversation

edgargabriel
Copy link
Member

This is part 1 of the fix to make ompio compile on solaris correctly.

@rhc54 would you mind having a look especially at the modifications in opal_path_nfs that I made? Basically I added an additional argument, which is however only set if the user does not pass NULL as an input pointer.

Part 2 of the fix will have to occur based on this modification on the release branch only (that code section does not exist in master)

@ggouaillardet
Copy link
Contributor

@edgargabriel
fwiw, i cherry-picked these two commits into the v2.x branch, and added the inlined one-off commit and was able to compile on Solaris

commit ec7fc0839d0d41fc0b582b0f60055cc5e05869ba
Author: Gilles Gouaillardet <gilles@rist.or.jp>
Date:   Wed Jan 27 16:53:35 2016 +0900

    ompio: use mca_fs_base_get_fstype to make it works even on Solaris

    Thanks Siegmar Gross for reporting this issue

diff --git a/ompi/mca/io/ompio/io_ompio_component.c b/ompi/mca/io/ompio/io_ompio_component.c
index ff00c6d..c143d33 100644
--- a/ompi/mca/io/ompio/io_ompio_component.c
+++ b/ompi/mca/io/ompio/io_ompio_component.c
@@ -281,22 +281,11 @@ file_query(struct ompi_file_t *file,
     rank = ompi_comm_rank ( file->f_comm);
     if (!tmp) {
         if ( 0 == rank) {
-            do {
-                err = statfs (file->f_filename, &fsbuf);
-            } while (err && (errno == ESTALE));
-            
-            if (err && (errno == ENOENT)) {
-                mca_fs_base_get_parent_dir (file->f_filename, &dir);
-                err = statfs (dir, &fsbuf);
-                free (dir);
-            }
-#ifndef LL_SUPER_MAGIC
-#define LL_SUPER_MAGIC 0x0BD00BD0
-#endif
-            if (fsbuf.f_type == LL_SUPER_MAGIC) {
+            if (LUSTRE == mca_fs_base_get_fstype(file->f_filename)) {
                 is_lustre = 1; //true
             }
        }
+        
        file->f_comm->c_coll.coll_bcast (&is_lustre,
                                          1,
                                          MPI_INT,

@edgargabriel
Copy link
Member Author

@ggouaillardet sounds good, thanks! I just would like @rhc54 to give a thumbs up to the change, since I modified his code. After that, its probably a good idea to got through at least one night of MTT testing and coverty reports before filing the pr to the v2.x branch.

@rhc54
Copy link
Contributor

rhc54 commented Jan 28, 2016

👍

edgargabriel added a commit that referenced this pull request Jan 29, 2016
@edgargabriel edgargabriel merged commit 3f7fff5 into open-mpi:master Jan 29, 2016
@edgargabriel
Copy link
Member Author

@ggouaillardet I wanted to cherry pick your commit ec7fc0839d0d41fc0b582b0f60055cc5e05869ba, but can not find the repository that you have that in. Could you please point me to that?

@ggouaillardet
Copy link
Contributor

this must be on my workstation only.
feel free to copy/paste it and commit it, since I will not be able to upload it before monday

@ggouaillardet
Copy link
Contributor

@edgargabriel i made PR open-mpi/ompi-release#935 that includes the backports of your commits plus my one-off one

hjelmn pushed a commit to hjelmn/ompi that referenced this pull request Sep 13, 2016
Restore the coll/sync module and provide a test to verify its operation
@edgargabriel edgargabriel deleted the solaris-statfs-fix branch March 21, 2018 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants