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

RHEL 8.2: VM_FAULT_RETRY is defined in mm_types.h instead of mm.h

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.14.0
    • Lustre 2.14.0, Lustre 2.12.5
    • None
    • RHEL 8.2
    • 3
    • 9223372036854775807

    Description

      In RHEL 8.2 kernel 4.18.0-193.6.3.el8_2, VM_FAULT_RETRY is defined in mm_types.h instead of mm.h. While in Lustre codes, mm_types.h is not included, which causes VM_FAULT_RETRY redefined to 0 in llite_internal.h and vvp_io_kernel_fault() output the following error message:

      LustreError: 4176:0:(vvp_io.c:1222:vvp_io_kernel_fault()) unknown error in page fault 1024
      

      Attachments

        Activity

          [LU-13731] RHEL 8.2: VM_FAULT_RETRY is defined in mm_types.h instead of mm.h
          yujian Jian Yu added a comment -

          Patch landed to master branch for 2.14.0.

          yujian Jian Yu added a comment - Patch landed to master branch for 2.14.0.

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39281/
          Subject: LU-13731 autoconf: check if VM_FAULT_RETRY is defined
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: d8bc3df60f21c40885be465f3a636374ffab95df

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39281/ Subject: LU-13731 autoconf: check if VM_FAULT_RETRY is defined Project: fs/lustre-release Branch: master Current Patch Set: Commit: d8bc3df60f21c40885be465f3a636374ffab95df
          yujian Jian Yu added a comment -

          Thank you Ben. The above patch is fixing the issue.

          yujian Jian Yu added a comment - Thank you Ben. The above patch is fixing the issue.

          Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39281
          Subject: LU-13731 autoconf: check if VM_FAULT_RETRY is defined
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 0c5df4448172c12c5c7e47985ac327accf132536

          gerrit Gerrit Updater added a comment - Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39281 Subject: LU-13731 autoconf: check if VM_FAULT_RETRY is defined Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 0c5df4448172c12c5c7e47985ac327accf132536
          bjm900 Ben Menadue added a comment -

          mm_types.h already gets #include-ed through linux/mm.h, so I don't think this patch will fix it. What the problem seems to be is that those VM_FAULT_* identifiers aren't macros anymore. They've been replaced with an enumeration, and so the #ifndef VM_FAULT_RETRY will still be true and so still result in VM_FAULT_RETRY being erroneously replaced with 0. I think the easiest solution is to just remove this block:

          #ifndef VM_FAULT_RETRY
          #define VM_FAULT_RETRY 0
          #endif
          

          but that will break support for pre-2.6.32 kernels. Otherwise, the test needs be done at configure time so that you can detect both macros and enumerations.

          bjm900 Ben Menadue added a comment - mm_types.h already gets #include -ed through linux/mm.h , so I don't think this patch will fix it. What the problem seems to be is that those VM_FAULT_* identifiers aren't macros anymore. They've been replaced with an enumeration, and so the #ifndef VM_FAULT_RETRY will still be true and so still result in VM_FAULT_RETRY being erroneously replaced with 0. I think the easiest solution is to just remove this block: #ifndef VM_FAULT_RETRY #define VM_FAULT_RETRY 0 #endif but that will break support for pre-2.6.32 kernels. Otherwise, the test needs be done at configure time so that you can detect both macros and enumerations.

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39222/
          Subject: LU-13731 llite: include linux/mm_types.h for VM_FAULT_RETRY
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 2e813f3e2dc0a9a76a47dc7b74b6f7ed21f842e5

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39222/ Subject: LU-13731 llite: include linux/mm_types.h for VM_FAULT_RETRY Project: fs/lustre-release Branch: master Current Patch Set: Commit: 2e813f3e2dc0a9a76a47dc7b74b6f7ed21f842e5

          Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39222
          Subject: LU-13731 llite: include linux/mm_types.h for VM_FAULT_RETRY
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 354e2e90263bf1a0cf85e7489e7ccea5620d1d6a

          gerrit Gerrit Updater added a comment - Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39222 Subject: LU-13731 llite: include linux/mm_types.h for VM_FAULT_RETRY Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 354e2e90263bf1a0cf85e7489e7ccea5620d1d6a

          People

            yujian Jian Yu
            yujian Jian Yu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: