Re: cloop and kernel 4.8.1
Hello Max,
While I am not sure about the READA macro, I am quite sure that the
current cloop version does not use blk_queue_merge_bvec for kernels >
4.3.0:
561 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
562 blk_queue_merge_bvec(clo->clo_queue, q->merge_bvec_fn);
563 #endif
Please check if you have the newest version of cloop (4.3). It's inside
the linux kernel source package on debian-knoppix.alioth.debian.org.
For READA, I tend to try just removing the comparison in the "if"
clause, but haven't tried kernel 4.8 yet.
Regards
-Klaus
On Sun, Oct 09, 2016 at 11:20:27AM -0700, Max wrote:
> Hello,
>
> it seems that cloop doesn't compile with kernel 4.8.1:
>
> /usr/src/cloop-4/cloop.c: In function ‘cloop_do_request’:
> /usr/src/cloop-4/cloop.c:413:37: error: ‘READA’ undeclared (first use in
> this function)
> if (unlikely(rw != READ && rw != READA))
> ^
> ./include/linux/compiler.h:168:42: note: in definition of macro ‘unlikely’
> # define unlikely(x) __builtin_expect(!!(x), 0)
> ^
> /usr/src/cloop-4/cloop.c:413:37: note: each undeclared identifier is
> reported only once for each function it appears in
> if (unlikely(rw != READ && rw != READA))
> ^
> ./include/linux/compiler.h:168:42: note: in definition of macro ‘unlikely’
> # define unlikely(x) __builtin_expect(!!(x), 0)
> ^
> /usr/src/cloop-4/cloop.c: In function ‘cloop_set_file’:
> /usr/src/cloop-4/cloop.c:471:4: error: implicit declaration of function
> ‘blk_queue_merge_bvec’ [-Werror=implicit-function-declaration]
> blk_queue_merge_bvec(clo->clo_queue, q->merge_bvec_fn);
> ^~~~~~~~~~~~~~~~~~~~
> /usr/src/cloop-4/cloop.c:471:42: error: ‘struct request_queue’ has no member
> named ‘merge_bvec_fn’
> blk_queue_merge_bvec(clo->clo_queue, q->merge_bvec_fn);
>
> Any hints?
>
>
> Thank you
>
> Max
Reply to: