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

make failing due to missing rhashtable_lookup_get_insert_fast() in 3.10.327 kernel (CentOS 7.1/7.2)

    XMLWordPrintable

Details

    • Question/Request
    • Resolution: Won't Fix
    • Major
    • None
    • None
    • None
    • 9223372036854775807

    Description

      Hi,

      My lustre dev machine is running 3.10.X Kernel. "make" started to fail after I updated my local branch recently with latest pull. It is failing with ...

      CC [M] /root/lustre-xx-3.10/lustre-release/libcfs/libcfs/linux/linux-hash.o
      In file included from /root/lustre-xx-3.10/lustre-release/libcfs/libcfs/linux/linux-hash.c:33:0:
      /root/lustre-xx-3.10/lustre-release/libcfs/include/libcfs/linux/linux-hash.h: In function 'rhashtable_lookup_get_insert_fast':
      /root/lustre-xx-3.10/lustre-release/libcfs/include/libcfs/linux/linux-hash.h:60:2: error: implicit declaration of function 'rhashtable_lookup_insert_fast' [-Werror=implicit-function-declaration]
       rc = rhashtable_lookup_insert_fast(ht, obj, params);
       ^
      /root/lustre-xx-3.10/lustre-release/libcfs/include/libcfs/linux/linux-hash.h:63:3: error: implicit declaration of function 'rht_obj' [-Werror=implicit-function-declaration]
       key = rht_obj(ht, obj);
       ^
      

      ./configure logs are ...

      configure:16966: checking for linux/stringhash.h
      configure:16990: cp conftest.c build && make -d modules LDFLAGS= LD=/usr/bin/ld -m elf_x86_64 CC=gcc -f /root/lustre-xx-3.10/lustre-release/build/Makefile LUSTRE_LINUX_CONFIG=/lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/build/.config LINUXINCLUDE= -I/lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/source/arch/x86/include -Iinclude -Iarch/x86/include/generated -I/lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/source/include -Iinclude2 -I/lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/source/include/uapi -Iinclude/generated -I/lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/source/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/source/include/uapi -Iinclude/generated/uapi -include /lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/source/include/linux/kconfig.h -o tmp_include_depends -o scripts -o include/config/MARKER -C /lib/modules/3.10.0-327.13.1.x3.0.89.x86_64/build EXTRA_CFLAGS=-Werror-implicit-function-declaration -g -I/root/lustre-xx-3.10/lustre-release/libcfs/include -I/root/lustre-xx-3.10/lustre-release/lnet/include -I/root/lustre-xx-3.10/lustre-release/lustre/include -Wno-format-truncation M=/root/lustre-xx-3.10/lustre-release/build
      /root/lustre-xx-3.10/lustre-release/build/conftest.c:56:30: fatal error: linux/stringhash.h: No such file or directory
       #include <linux/stringhash.h>
                                    ^
      compilation terminated.
      make[1]: *** [/root/lustre-xx-3.10/lustre-release/build/conftest.o] Error 1
      make: *** [_module_/root/lustre-xx-3.10/lustre-release/build] Error 2
      configure:16993: $? = 2
      

      from config.log

      lb_cv_compile_rhashtable_lookup_get_insert_fast=no
      lb_cv_header_linux_stringhash_h=no
      

      What can be done to get it compiled with 3.10 kernel. It does not have stringhash as kernel version 4.X variant. Is is something to do with commit : bef1069506c38e6d8ebdb4393cccb5a33978a61e

      Thanks
      Arshad

      Attachments

        Activity

          People

            simmonsja James A Simmons
            arshad512 Arshad Hussain
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: