Skip to content
This repository has been archived by the owner on Jan 13, 2022. It is now read-only.

Cannot build on kernel 3.17.1 - wait_on_bit_lock (possibly needs switch to wait_on_bit_lock_action) #191

Open
galets opened this issue Nov 3, 2014 · 9 comments

Comments

@galets
Copy link

galets commented Nov 3, 2014

make KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build:

make -C src KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build PWD=/usr/src/flashcache-master/src all
make[1]: Entering directory '/usr/src/flashcache-master/src'
make -C /lib/modules/3.17.1-1-ARCH/build M=/usr/src/flashcache-master/src modules V=0
make[2]: Entering directory '/usr/lib/modules/3.17.1-1-ARCH/build'
  CC [M]  /usr/src/flashcache-master/src/flashcache_conf.o
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_ctr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1227:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
           flashcache_wait_schedule, TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/usr/src/flashcache-master/src/flashcache_conf.c:1226:8: error: too many arguments to function ‘wait_on_bit_lock’
  (void)wait_on_bit_lock(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST,
        ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/usr/src/flashcache-master/src/flashcache_conf.c:1231:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations]
  smp_mb__after_clear_bit();
  ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_dtr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1443:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
           flashcache_wait_schedule, 
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/usr/src/flashcache-master/src/flashcache_conf.c:1441:8: error: too many arguments to function ‘wait_on_bit_lock’
  (void)wait_on_bit_lock(&flashcache_control->synch_flags, 
        ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/usr/src/flashcache-master/src/flashcache_conf.c:1454:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations]
  smp_mb__after_clear_bit();
  ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_notify_reboot’:
/usr/src/flashcache-master/src/flashcache_conf.c:1740:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
           flashcache_wait_schedule, 
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/usr/src/flashcache-master/src/flashcache_conf.c:1738:8: error: too many arguments to function ‘wait_on_bit_lock’
  (void)wait_on_bit_lock(&flashcache_control->synch_flags, 
        ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/usr/src/flashcache-master/src/flashcache_conf.c:1753:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations]
  smp_mb__after_clear_bit();
  ^
scripts/Makefile.build:257: recipe for target '/usr/src/flashcache-master/src/flashcache_conf.o' failed
make[3]: *** [/usr/src/flashcache-master/src/flashcache_conf.o] Error 1
Makefile:1373: recipe for target '_module_/usr/src/flashcache-master/src' failed
make[2]: *** [_module_/usr/src/flashcache-master/src] Error 2
make[2]: Leaving directory '/usr/lib/modules/3.17.1-1-ARCH/build'
Makefile:35: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/usr/src/flashcache-master/src'
Makefile:20: recipe for target 'all' failed
make: *** [all] Error 2
@mohans
Copy link
Contributor

mohans commented Nov 4, 2014

I have fixes for the compilation errors on 3.17/3.18, which I've also tested on hosts running those kernels.

However, I am unable to push changes to github because of some authentication issues.

I can send you the patch by email in the meantime if you like.


From: galets [email protected]
To: facebook/flashcache [email protected]
Sent: Monday, November 3, 2014 2:43 PM
Subject: [flashcache] Cannot build on kernel 3.17.1 - wait_on_bit_lock (possibly needs switch to wait_on_bit_lock_action) (#191)

make KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build:
make -C src KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build PWD=/usr/src/flashcache-master/src all
make[1]: Entering directory '/usr/src/flashcache-master/src'
make -C /lib/modules/3.17.1-1-ARCH/build M=/usr/src/flashcache-master/src modules V=0
make[2]: Entering directory '/usr/lib/modules/3.17.1-1-ARCH/build' CC [M] /usr/src/flashcache-master/src/flashcache_conf.o
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_ctr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1227:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast flashcache_wait_schedule, TASK_UNINTERRUPTIBLE); ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int ()(void *)’ wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1226:8: error: too many arguments to function ‘wait_on_bit_lock’ (void)wait_on_bit_lock(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1231:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations] smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_dtr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1443:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1441:8: error: too many arguments to function ‘wait_on_bit_lock’ (void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1454:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations] smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_notify_reboot’:
/usr/src/flashcache-master/src/flashcache_conf.c:1740:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1738:8: error: too many arguments to function ‘wait_on_bit_lock’ (void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1753:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations] smp_mb__after_clear_bit(); ^
scripts/Makefile.build:257: recipe for target '/usr/src/flashcache-master/src/flashcache_conf.o' failed
make[3]: *
* [/usr/src/flashcache-master/src/flashcache_conf.o] Error 1
Makefile:1373: recipe for target 'module/usr/src/flashcache-master/src' failed
make[2]: *** [module/usr/src/flashcache-master/src] Error 2
make[2]: Leaving directory '/usr/lib/modules/3.17.1-1-ARCH/build'
Makefile:35: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/usr/src/flashcache-master/src'
Makefile:20: recipe for target 'all' failed
make: *** [all] Error 2

Reply to this email directly or view it on GitHub.

@mohans
Copy link
Contributor

mohans commented Nov 4, 2014

Let me know if this patch works for you while I try to figure out why I don't have access right to push anything into the flashcache github repo.


From: galets [email protected]
To: facebook/flashcache [email protected]
Sent: Monday, November 3, 2014 2:43 PM
Subject: [flashcache] Cannot build on kernel 3.17.1 - wait_on_bit_lock (possibly needs switch to wait_on_bit_lock_action) (#191)

make KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build:
make -C src KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build PWD=/usr/src/flashcache-master/src all
make[1]: Entering directory '/usr/src/flashcache-master/src'
make -C /lib/modules/3.17.1-1-ARCH/build M=/usr/src/flashcache-master/src modules V=0
make[2]: Entering directory '/usr/lib/modules/3.17.1-1-ARCH/build' CC [M] /usr/src/flashcache-master/src/flashcache_conf.o
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_ctr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1227:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast flashcache_wait_schedule, TASK_UNINTERRUPTIBLE); ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int ()(void *)’ wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1226:8: error: too many arguments to function ‘wait_on_bit_lock’ (void)wait_on_bit_lock(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1231:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations] smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_dtr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1443:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1441:8: error: too many arguments to function ‘wait_on_bit_lock’ (void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1454:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations] smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function ‘flashcache_notify_reboot’:
/usr/src/flashcache-master/src/flashcache_conf.c:1740:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1738:8: error: too many arguments to function ‘wait_on_bit_lock’ (void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from /usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void *word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1753:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations] smp_mb__after_clear_bit(); ^
scripts/Makefile.build:257: recipe for target '/usr/src/flashcache-master/src/flashcache_conf.o' failed
make[3]: *
* [/usr/src/flashcache-master/src/flashcache_conf.o] Error 1
Makefile:1373: recipe for target 'module/usr/src/flashcache-master/src' failed
make[2]: *** [module/usr/src/flashcache-master/src] Error 2
make[2]: Leaving directory '/usr/lib/modules/3.17.1-1-ARCH/build'
Makefile:35: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/usr/src/flashcache-master/src'
Makefile:20: recipe for target 'all' failed
make: *** [all] Error 2

Reply to this email directly or view it on GitHub.

@galets
Copy link
Author

galets commented Nov 4, 2014

I am not sure... where's the patch? I can test it.

On Tue, Nov 4, 2014 at 9:17 AM, Mohan Srinivasan [email protected]
wrote:

Let me know if this patch works for you while I try to figure out why I
don't have access right to push anything into the flashcache github repo.


From: galets [email protected]
To: facebook/flashcache [email protected]
Sent: Monday, November 3, 2014 2:43 PM
Subject: [flashcache] Cannot build on kernel 3.17.1 - wait_on_bit_lock
(possibly needs switch to wait_on_bit_lock_action) (#191)

make KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build:
make -C src KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build
PWD=/usr/src/flashcache-master/src all
make[1]: Entering directory '/usr/src/flashcache-master/src'
make -C /lib/modules/3.17.1-1-ARCH/build M=/usr/src/flashcache-master/src
modules V=0
make[2]: Entering directory '/usr/lib/modules/3.17.1-1-ARCH/build' CC [M]
/usr/src/flashcache-master/src/flashcache_conf.o
/usr/src/flashcache-master/src/flashcache_conf.c: In function
‘flashcache_ctr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1227:11: warning: passing
argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
flashcache_wait_schedule, TASK_UNINTERRUPTIBLE); ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is
of type ‘int ()(void *)’ wait_on_bit_lock(void *word, int bit, unsigned
mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1226:8: error: too many
arguments to function ‘wait_on_bit_lock’
(void)wait_on_bit_lock(&flashcache_control->synch_flags,
FLASHCACHE_UPDATE_LIST, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void
*word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1231:2: warning:
‘smp_mb__after_clear_bit’ is deprecated (declared at
include/linux/bitops.h:48) [-Wdeprecated-declarations]
smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function
‘flashcache_dtr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1443:11: warning: passing
argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is
of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned
mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1441:8: error: too many
arguments to function ‘wait_on_bit_lock’
(void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void
*word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1454:2: warning:
‘smp_mb__after_clear_bit’ is deprecated (declared at
include/linux/bitops.h:48) [-Wdeprecated-declarations]
smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function
‘flashcache_notify_reboot’:
/usr/src/flashcache-master/src/flashcache_conf.c:1740:11: warning: passing
argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is
of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned
mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1738:8: error: too many
arguments to function ‘wait_on_bit_lock’
(void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void
*word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1753:2: warning:
‘smp_mb__after_clear_bit’ is deprecated (declared at
include/linux/bitops.h:48) [-Wdeprecated-declarations]
smp_mb__after_clear_bit(); ^
scripts/Makefile.build:257: recipe for target
'/usr/src/flashcache-master/src/flashcache_conf.o' failed
make[3]: *
* [/usr/src/flashcache-master/src/flashcache_conf.o] Error 1
Makefile:1373: recipe for target 'module/usr/src/flashcache-master/src'
failed
make[2]: *** [module/usr/src/flashcache-master/src] Error 2
make[2]: Leaving directory '/usr/lib/modules/3.17.1-1-ARCH/build'
Makefile:35: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/usr/src/flashcache-master/src'
Makefile:20: recipe for target 'all' failed
make: *** [all] Error 2

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#191 (comment).

@mohans
Copy link
Contributor

mohans commented Nov 4, 2014

It was attached to my earlier email. Did it not come through ?


From: galets [email protected]
To: facebook/flashcache [email protected]
Cc: Mohan Srinivasan [email protected]
Sent: Tuesday, November 4, 2014 8:23 AM
Subject: Re: [flashcache] Cannot build on kernel 3.17.1 - wait_on_bit_lock (possibly needs switch to wait_on_bit_lock_action) (#191)

I am not sure... where's the patch? I can test it.

On Tue, Nov 4, 2014 at 9:17 AM, Mohan Srinivasan [email protected]
wrote:

Let me know if this patch works for you while I try to figure out why I
don't have access right to push anything into the flashcache github repo.


From: galets [email protected]
To: facebook/flashcache [email protected]
Sent: Monday, November 3, 2014 2:43 PM
Subject: [flashcache] Cannot build on kernel 3.17.1 - wait_on_bit_lock
(possibly needs switch to wait_on_bit_lock_action) (#191)

make KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build:
make -C src KERNEL_TREE=/lib/modules/3.17.1-1-ARCH/build
PWD=/usr/src/flashcache-master/src all
make[1]: Entering directory '/usr/src/flashcache-master/src'
make -C /lib/modules/3.17.1-1-ARCH/build M=/usr/src/flashcache-master/src
modules V=0
make[2]: Entering directory '/usr/lib/modules/3.17.1-1-ARCH/build' CC [M]
/usr/src/flashcache-master/src/flashcache_conf.o
/usr/src/flashcache-master/src/flashcache_conf.c: In function
‘flashcache_ctr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1227:11: warning: passing
argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
flashcache_wait_schedule, TASK_UNINTERRUPTIBLE); ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is
of type ‘int ()(void *)’ wait_on_bit_lock(void *word, int bit, unsigned
mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1226:8: error: too many
arguments to function ‘wait_on_bit_lock’
(void)wait_on_bit_lock(&flashcache_control->synch_flags,
FLASHCACHE_UPDATE_LIST, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void
*word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1231:2: warning:
‘smp_mb__after_clear_bit’ is deprecated (declared at
include/linux/bitops.h:48) [-Wdeprecated-declarations]
smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function
‘flashcache_dtr’:
/usr/src/flashcache-master/src/flashcache_conf.c:1443:11: warning: passing
argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is
of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned
mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1441:8: error: too many
arguments to function ‘wait_on_bit_lock’
(void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void
*word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1454:2: warning:
‘smp_mb__after_clear_bit’ is deprecated (declared at
include/linux/bitops.h:48) [-Wdeprecated-declarations]
smp_mb__after_clear_bit(); ^
/usr/src/flashcache-master/src/flashcache_conf.c: In function
‘flashcache_notify_reboot’:
/usr/src/flashcache-master/src/flashcache_conf.c:1740:11: warning: passing
argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast
flashcache_wait_schedule, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: expected ‘unsigned int’ but argument is
of type ‘int (
)(void )’ wait_on_bit_lock(void *word, int bit, unsigned
mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1738:8: error: too many
arguments to function ‘wait_on_bit_lock’
(void)wait_on_bit_lock(&flashcache_control->synch_flags, ^
In file included from include/linux/mmzone.h:9:0, from
include/linux/gfp.h:5, from include/linux/kmod.h:22, from
include/linux/module.h:13, from
/usr/src/flashcache-master/src/flashcache_conf.c:26:
include/linux/wait.h:957:1: note: declared here wait_on_bit_lock(void
*word, int bit, unsigned mode) ^
/usr/src/flashcache-master/src/flashcache_conf.c:1753:2: warning:
‘smp_mb__after_clear_bit’ is deprecated (declared at
include/linux/bitops.h:48) [-Wdeprecated-declarations]
smp_mb__after_clear_bit(); ^
scripts/Makefile.build:257: recipe for target
'/usr/src/flashcache-master/src/flashcache_conf.o' failed
make[3]: *
* [/usr/src/flashcache-master/src/flashcache_conf.o] Error 1
Makefile:1373: recipe for target 'module/usr/src/flashcache-master/src'
failed
make[2]: *** [module/usr/src/flashcache-master/src] Error 2
make[2]: Leaving directory '/usr/lib/modules/3.17.1-1-ARCH/build'
Makefile:35: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/usr/src/flashcache-master/src'
Makefile:20: recipe for target 'all' failed
make: *** [all] Error 2

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#191 (comment).


Reply to this email directly or view it on GitHub.

@ghost
Copy link

ghost commented Aug 4, 2015

Thank you for reporting this issue and appreciate your patience. We've notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.

@richarson
Copy link

Not working on CentOS 7.3 either with kernel-3.10.0-514.2.2.el7.x86_64, it did work on kernel-3.10.0-327.el7.x86_64 so I guess RedHat backported something that broke flashcache :(

@mohans Can you post the patch you mentioned to test it? Thanks!

@richarson
Copy link

Full log from make on CentOS 7.3 in case it's useful:

# make clean && make KERNEL_TREE=/lib/modules/$(uname -r)/build                                                                           make -C src KERNEL_TREE=/usr/src/kernels/3.10.0-514.2.2.el7.x86_64 PWD=/root/flashcache/src clean
make[1]: Entering directory `/root/flashcache/src'
make -C /usr/src/kernels/3.10.0-514.2.2.el7.x86_64 M=/root/flashcache/src clean
make[2]: Entering directory `/usr/src/kernels/3.10.0-514.2.2.el7.x86_64'
make[2]: Leaving directory `/usr/src/kernels/3.10.0-514.2.2.el7.x86_64'
make -C utils clean
make[2]: Entering directory `/root/flashcache/src/utils'
rm -f *.[od] flashcache_create flashcache_destroy flashcache_load flashcache_setioctl get_agsize
make[2]: Leaving directory `/root/flashcache/src/utils'
make[1]: Leaving directory `/root/flashcache/src'
make -C src KERNEL_TREE=/lib/modules/3.10.0-514.2.2.el7.x86_64/build PWD=/root/flashcache/src all
make[1]: Entering directory `/root/flashcache/src'
make -C /lib/modules/3.10.0-514.2.2.el7.x86_64/build M=/root/flashcache/src modules V=0
make[2]: Entering directory `/usr/src/kernels/3.10.0-514.2.2.el7.x86_64'
  CC [M]  /root/flashcache/src/flashcache_conf.o
/root/flashcache/src/flashcache_conf.c: In function ‘flashcache_ctr’:
/root/flashcache/src/flashcache_conf.c:1230:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast [enabled by default]
           flashcache_wait_schedule, TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /root/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/root/flashcache/src/flashcache_conf.c:1230:11: error: too many arguments to function ‘wait_on_bit_lock’
           flashcache_wait_schedule, TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /root/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: declared here
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/root/flashcache/src/flashcache_conf.c: In function ‘flashcache_dtr’:
/root/flashcache/src/flashcache_conf.c:1444:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast [enabled by default]
           TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /root/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/root/flashcache/src/flashcache_conf.c:1444:11: error: too many arguments to function ‘wait_on_bit_lock’
           TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /root/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: declared here
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/root/flashcache/src/flashcache_conf.c: At top level:
/root/flashcache/src/flashcache_conf.c:1716:2: error: unknown field ‘ioctl’ specified in initializer
  .ioctl  = flashcache_ioctl,
  ^
/root/flashcache/src/flashcache_conf.c:1716:2: warning: initialization from incompatible pointer type [enabled by default]
/root/flashcache/src/flashcache_conf.c:1716:2: warning: (near initialization for ‘flashcache_target.message’) [enabled by default]
/root/flashcache/src/flashcache_conf.c: In function ‘flashcache_notify_reboot’:
/root/flashcache/src/flashcache_conf.c:1765:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast [enabled by default]
           TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /root/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
/root/flashcache/src/flashcache_conf.c:1765:11: error: too many arguments to function ‘wait_on_bit_lock’
           TASK_UNINTERRUPTIBLE);
           ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /root/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: declared here
 wait_on_bit_lock(void *word, int bit, unsigned mode)
 ^
make[3]: *** [/root/flashcache/src/flashcache_conf.o] Error 1
make[2]: *** [_module_/root/flashcache/src] Error 2
make[2]: Leaving directory `/usr/src/kernels/3.10.0-514.2.2.el7.x86_64'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/root/flashcache/src'
make: *** [all] Error 2

@pubyun
Copy link
Contributor

pubyun commented Dec 21, 2016

please testing pull request 223

@francisleemondia
Copy link

Hi,

Experiencing this issue on 3.10.0-693.17.1.el7.x86_64. Make output below.

=====================================================
flashcache]# make
make -C src KERNEL_TREE=/usr/src/kernels/3.10.0-693.17.1.el7.x86_64 PWD=/usr/local/src/flashcache/src all
make[1]: Entering directory /usr/local/src/flashcache/src' make -C /usr/src/kernels/3.10.0-693.17.1.el7.x86_64 M=/usr/local/src/flashcache/src modules V=0 make[2]: Entering directory /usr/src/kernels/3.10.0-693.17.1.el7.x86_64'
CC [M] /usr/local/src/flashcache/src/flashcache_conf.o
/usr/local/src/flashcache/src/flashcache_conf.c: In function ‘flashcache_ctr’:
/usr/local/src/flashcache/src/flashcache_conf.c:1230:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast [enabled by default]
flashcache_wait_schedule, TASK_UNINTERRUPTIBLE);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /usr/local/src/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
wait_on_bit_lock(void *word, int bit, unsigned mode)
^
/usr/local/src/flashcache/src/flashcache_conf.c:1230:11: error: too many arguments to function ‘wait_on_bit_lock’
flashcache_wait_schedule, TASK_UNINTERRUPTIBLE);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /usr/local/src/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: declared here
wait_on_bit_lock(void word, int bit, unsigned mode)
^
/usr/local/src/flashcache/src/flashcache_conf.c: In function ‘flashcache_dtr’:
/usr/local/src/flashcache/src/flashcache_conf.c:1444:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast [enabled by default]
TASK_UNINTERRUPTIBLE);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /usr/local/src/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: expected ‘unsigned int’ but argument is of type ‘int (
)(void *)’
wait_on_bit_lock(void *word, int bit, unsigned mode)
^
/usr/local/src/flashcache/src/flashcache_conf.c:1444:11: error: too many arguments to function ‘wait_on_bit_lock’
TASK_UNINTERRUPTIBLE);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /usr/local/src/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: declared here
wait_on_bit_lock(void word, int bit, unsigned mode)
^
/usr/local/src/flashcache/src/flashcache_conf.c: At top level:
/usr/local/src/flashcache/src/flashcache_conf.c:1717:2: error: unknown field ‘ioctl’ specified in initializer
.ioctl = flashcache_ioctl,
^
/usr/local/src/flashcache/src/flashcache_conf.c:1717:2: warning: initialization from incompatible pointer type [enabled by default]
/usr/local/src/flashcache/src/flashcache_conf.c:1717:2: warning: (near initialization for ‘flashcache_target.message’) [enabled by default]
/usr/local/src/flashcache/src/flashcache_conf.c: In function ‘flashcache_notify_reboot’:
/usr/local/src/flashcache/src/flashcache_conf.c:1770:11: warning: passing argument 3 of ‘wait_on_bit_lock’ makes integer from pointer without a cast [enabled by default]
TASK_UNINTERRUPTIBLE);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /usr/local/src/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: expected ‘unsigned int’ but argument is of type ‘int (
)(void *)’
wait_on_bit_lock(void *word, int bit, unsigned mode)
^
/usr/local/src/flashcache/src/flashcache_conf.c:1770:11: error: too many arguments to function ‘wait_on_bit_lock’
TASK_UNINTERRUPTIBLE);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /usr/local/src/flashcache/src/flashcache_conf.c:26:
include/linux/wait.h:1147:1: note: declared here
wait_on_bit_lock(void *word, int bit, unsigned mode)
^
make[3]: *** [/usr/local/src/flashcache/src/flashcache_conf.o] Error 1
make[2]: *** [module/usr/local/src/flashcache/src] Error 2
make[2]: Leaving directory /usr/src/kernels/3.10.0-693.17.1.el7.x86_64' make[1]: *** [modules] Error 2 make[1]: Leaving directory /usr/local/src/flashcache/src'
make: *** [all] Error 2
[root@hamnfs01 flashcache]#

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants