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

Linux 5.17+ Configure tests for rhltable, bitmap_alloc, rdma_wr, nla_strdup

    XMLWordPrintable

Details

    • 3
    • 9223372036854775807

    Description

      rhel8.6 with kernel 5.18 breaks a couple of compile tests

      struct rhltable test fails with:
      ... error: ‘hlt’ is used uninitialized in this function
      [-Werror=uninitialized]

      bitmap_alloc() test fails with:
      ... error: unused variable ‘map’ [-Werror=unused-variable]

      rdma_wr() test failes with:
      ... error: assignment discards ‘const’ qualifier from pointer
      target type [-Werror=discarded-qualifiers]
      wr = rdma_wr(NULL);

      nla_strdup() test fails due to unused variable 'tmp'


      Linux commit v5.15-12273-gab2f9d2d3626
      mm: unexport

      {,un}

      lock_page_memcg

      Fails when lock_page_memcg exists but is not exported.

      In file included from /home/shaun/lustre-release/lustre/include/lvfs.h:44,
                       from /home/shaun/lustre-release/lustre/include/obd.h:55,
                       from /home/shaun/lustre-release/lustre/llite/vvp_io.c:39:
      /home/shaun/lustre-release/lustre/include/lustre_compat.h:468:31: error: expected identifier or ‘(’ before ‘do’
       #define lock_page_memcg(page) do {} while (0)
                                     ^~
      include/linux/memcontrol.h:946:6: note: in expansion of macro ‘lock_page_memcg’
       void lock_page_memcg(struct page *page);
            ^~~~~~~~~~~~~~~
      /home/shaun/lustre-release/lustre/include/lustre_compat.h:468:37: error: expected identifier or ‘(’ before ‘while’
       #define lock_page_memcg(page) do {} while (0)
                                           ^~~~~
      include/linux/memcontrol.h:946:6: note: in expansion of macro ‘lock_page_memcg’
       void lock_page_memcg(struct page *page);
            ^~~~~~~~~~~~~~~
      /home/shaun/lustre-release/lustre/include/lustre_compat.h:469:33: error: expected identifier or ‘(’ before ‘do’
       #define unlock_page_memcg(page) do {} while (0)
                                       ^~
      include/linux/memcontrol.h:947:6: note: in expansion of macro ‘unlock_page_memcg’
       void unlock_page_memcg(struct page *page);
            ^~~~~~~~~~~~~~~~~
      /home/shaun/lustre-release/lustre/include/lustre_compat.h:469:39: error: expected identifier or ‘(’ before ‘while’
       #define unlock_page_memcg(page) do {} while (0)
                                             ^~~~~
      include/linux/memcontrol.h:947:6: note: in expansion of macro ‘unlock_page_memcg’
       void unlock_page_memcg(struct page *page);
            ^~~~~~~~~~~~~~~~~
      

      Adjust usage of [un]lock_page_memcg() to vvp_[un]lock_page_memcg() and
      define the mapping accordingly to avoid the compile error.

      Attachments

        Activity

          People

            stancheff Shaun Tancheff
            stancheff Shaun Tancheff
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: