Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-9490

MPI-IO Lustre ADIO driver gets Lustre layout parameters incorrectly

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.10.0
    • Lustre 2.10.0
    • None
    • 3
    • 9223372036854775807

    Description

      Looking at the Lustre ADIO driver, it appears that it is retrieving the layout parameters (stripe count, stripe size) incorrectly from the kernel. It is calling an ioctl() directly to the kernel, but then not checking that the returned layout magic is something that it understands before dereferencing the fields of struct lov_mds_md. For composite files that for not have struct lov_mds_md directly at the start of the layout, this will deteference random fields in the layout and return garbage to the library.

      Attachments

        Issue Links

          Activity

            [LU-9490] MPI-IO Lustre ADIO driver gets Lustre layout parameters incorrectly

            ADIO changes being tracked in LU-9657

            eberglan Eric Bergland (Inactive) added a comment - ADIO changes being tracked in LU-9657
            pjones Peter Jones added a comment -

            Lustre changes all landed for 2.10. ADIO changes being tracked separately

            pjones Peter Jones added a comment - Lustre changes all landed for 2.10. ADIO changes being tracked separately

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27180/
            Subject: LU-9490 tests: ll_dirstripe_verify handles PFL layout
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: c1359f54314084e0613a5ae70168595f296b7dfc

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27180/ Subject: LU-9490 tests: ll_dirstripe_verify handles PFL layout Project: fs/lustre-release Branch: master Current Patch Set: Commit: c1359f54314084e0613a5ae70168595f296b7dfc

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27183/
            Subject: LU-9490 llite: return v1/v3 layout for legacy app
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 545f464b68ee21ccc425113db9b57c63ac2840b1

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27183/ Subject: LU-9490 llite: return v1/v3 layout for legacy app Project: fs/lustre-release Branch: master Current Patch Set: Commit: 545f464b68ee21ccc425113db9b57c63ac2840b1

            Andreas Dilger (andreas.dilger@intel.com) merged in patch https://review.whamcloud.com/27310/
            Subject: LU-9490 llite: return v1/v3 layout for legacy app
            Project: fs/lustre-release
            Branch: pfl
            Current Patch Set:
            Commit: fac27756d5f2a283a5ec7a908e6434d30748a6bd

            gerrit Gerrit Updater added a comment - Andreas Dilger (andreas.dilger@intel.com) merged in patch https://review.whamcloud.com/27310/ Subject: LU-9490 llite: return v1/v3 layout for legacy app Project: fs/lustre-release Branch: pfl Current Patch Set: Commit: fac27756d5f2a283a5ec7a908e6434d30748a6bd

            Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: https://review.whamcloud.com/27310
            Subject: LU-9490 llite: return v1/v3 layout for legacy app
            Project: fs/lustre-release
            Branch: pfl
            Current Patch Set: 1
            Commit: f3e00e27e8f86be9400df19f074b23da6d2b17fb

            gerrit Gerrit Updater added a comment - Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: https://review.whamcloud.com/27310 Subject: LU-9490 llite: return v1/v3 layout for legacy app Project: fs/lustre-release Branch: pfl Current Patch Set: 1 Commit: f3e00e27e8f86be9400df19f074b23da6d2b17fb
            emoly.liu Emoly Liu added a comment - - edited

            Discussed with Niu and worked on how to apply each component stripe information to the I/O pattern redistribution.

            emoly.liu Emoly Liu added a comment - - edited Discussed with Niu and worked on how to apply each component stripe information to the I/O pattern redistribution.

            Emoly, yes the fix should be submitted to the MPICH Git repo. The ADIO patches in lustre/contrib should be deleted.

            adilger Andreas Dilger added a comment - Emoly, yes the fix should be submitted to the MPICH Git repo. The ADIO patches in lustre/contrib should be deleted.
            emoly.liu Emoly Liu added a comment -

            adilger, I'm cloning MPICH git repo. Do you mean I need to create a patch there?
            BTW, the lustre ADIO driver patch in our repo (lustre/contrib/adio_driver_mpich2-1.0.7.patch) is too old, I remembered it was released by MPICH2 about 8 years ago. Should it be removed?

            emoly.liu Emoly Liu added a comment - adilger , I'm cloning MPICH git repo. Do you mean I need to create a patch there? BTW, the lustre ADIO driver patch in our repo (lustre/contrib/adio_driver_mpich2-1.0.7.patch) is too old, I remembered it was released by MPICH2 about 8 years ago. Should it be removed?
            emoly.liu Emoly Liu added a comment -

            I will look into this one.

            emoly.liu Emoly Liu added a comment - I will look into this one.

            People

              emoly.liu Emoly Liu
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: