Cloop and kernel 4.3
Hi Klaus,
kernel 4.3 is out with many improvements and as you can imagine I have
already tried to implement this new kernel in my live system.
Cloop doesn't compile and I think I have found the reason:
From: Ming Lin <mlin kernel org>
To: linux-kernel vger kernel org
As generic_make_request() is now able to handle arbitrarily sized bios,
it's no longer necessary for each individual block driver to define its
own ->merge_bvec_fn() callback. Remove every invocation completely.
========================
After removing the invocation the module compiles and loads without any
problem:
Thu Nov 12 17:49:51 2015] aufs 4.3-20151109
[Thu Nov 12 17:49:55 2015] cloop: Initializing cloop v3.14
[Thu Nov 12 17:49:55 2015] cloop: loaded (max 8 devices)
and from the live system:
Thu Nov 12 17:57:23 2015] cloop: Initializing cloop v3.14
[Thu Nov 12 17:57:23 2015] cloop: loaded (max 8 devices)
[Thu Nov 12 17:57:23 2015] cloop: Can't open device read-write in mode 0x1f
[Thu Nov 12 17:57:23 2015] cloop: losetup_file: 800 blocks, 1048576
bytes/block, largest block is 1047162 bytes.
[Thu Nov 12 17:57:23 2015] cloop: preloaded 32 blocks into cache.
==================================
Here's the changelog:
root@MRS:/media/sdb1/usr/src# diff -u cloop.c cloop-319/cloop.c
--- cloop.c 2015-11-12 17:25:12.000000000 +0000
+++ cloop-319/cloop.c 2015-11-12 17:41:31.000000000 +0000
@@ -460,17 +460,6 @@
/* In suspended mode, we have done all checks necessary - FF */
if (clo->suspended)
return error;
- if(isblkdev)
- {
- struct request_queue *q = bdev_get_queue(inode->i_bdev);
- blk_queue_max_hw_sectors(clo->clo_queue, queue_max_hw_sectors(q)); /*
Renamed in 2.6.34 */
- blk_queue_max_segments(clo->clo_queue, queue_max_segments(q)); /*
Renamed in 2.6.34 */
- /* blk_queue_max_hw_segments(clo->clo_queue, queue_max_hw_segments(q));
*/ /* Removed in 2.6.34 */
- blk_queue_max_segment_size(clo->clo_queue, queue_max_segment_size(q));
- blk_queue_segment_boundary(clo->clo_queue, queue_segment_boundary(q));
- blk_queue_merge_bvec(clo->clo_queue, q->merge_bvec_fn);
- clo->underlying_blksize = block_size(inode->i_bdev);
- }
else
clo->underlying_blksize = PAGE_SIZE;
DEBUGP("Underlying blocksize is %u\n", clo->underlying_blksize);
Best wishes
Massimo Bollati
--
View this message in context: http://debian.2.n7.nabble.com/Cloop-and-kernel-4-3-tp3694497.html
Sent from the debian-knoppix mailing list archive at Nabble.com.
Reply to: