Can't install blksnap on Ubuntu 23.10?
incith opened this issue · 6 comments
Distribution
Ubuntu 23.10
Architecture
amd64
Kernel version
6.5.0-10-generic #10-Ubuntu SMP PREEMPT_DYNAMIC Fri Oct 13 13:49:38 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Blksnap version
blksnap/stable,now 6.0.3.1221
Bug description
When I issue apt install blksnap, dkms fails to build the module.
Steps to reproduce
apt purge blksnap dkms
apt install blksnap
Expected behavior
To complete/install successfully.
Additional information
Thu Nov 9 03:58:22 PM EST 2023
make: Entering directory '/usr/src/linux-headers-6.5.0-10-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
You are using: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/bdevfilter.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/log.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/big_buffer.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/cbt_map.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/chunk.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/ctrl.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/diff_io.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/diff_buffer.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.o
CC [M] /var/lib/dkms/blksnap/6.0.3.1221/build/event_queue.o
In file included from ./include/linux/highmem.h:5,
from ./include/linux/bvec.h:10,
from ./include/linux/blk_types.h:10,
from ./include/linux/blkdev.h:9,
from /var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.c:6:
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.c: In function ‘diff_area_free’:
./include/linux/fs.h:111:33: warning: passing argument 2 of ‘blkdev_put’ makes pointer from integer without a cast [-Wint-conversion]
111 | #define FMODE_READ ((__force fmode_t)0x1)
| ^
| |
| unsigned int
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.c:127:50: note: in expansion of macro ‘FMODE_READ’
127 | blkdev_put(diff_area->orig_bdev, FMODE_READ | FMODE_WRITE); | ^~~~~~~~~~
./include/linux/blkdev.h:1481:50: note: expected ‘void *’ but argument is of type ‘unsigned int’
1481 | void blkdev_put(struct block_device *bdev, void *holder);
| ~~~~~~^~~~~~
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.c: In function ‘diff_area_new’:
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.c:278:16: error: too few arguments to function ‘blkdev_get_by_dev’
278 | bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL);
| ^~~~~~~~~~~~~~~~~
./include/linux/blkdev.h:1474:22: note: declared here
1474 | struct block_device *blkdev_get_by_dev(dev_t dev, blk_mode_t mode, void *holder,
| ^~~~~~~~~~~~~~~~~
./include/linux/fs.h:111:33: warning: passing argument 2 of ‘blkdev_put’ makes pointer from integer without a cast [-Wint-conversion]
111 | #define FMODE_READ ((__force fmode_t)0x1)
| ^
| |
| unsigned int
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.c:287:34: note: in expansion of macro ‘FMODE_READ’
287 | blkdev_put(bdev, FMODE_READ | FMODE_WRITE);
| ^~~~~~~~~~
./include/linux/blkdev.h:1481:50: note: expected ‘void *’ but argument is of type ‘unsigned int’
1481 | void blkdev_put(struct block_device *bdev, void *holder);
| ~~~~~~^~~~~~
make[2]: *** [scripts/Makefile.build:251: /var/lib/dkms/blksnap/6.0.3.1221/build/diff_area.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ./include/linux/highmem.h:5,
from ./include/linux/bvec.h:10,
from ./include/linux/blk_types.h:10,
from /var/lib/dkms/blksnap/6.0.3.1221/build/chunk.h:5,
from /var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.c:14:
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.c: In function ‘diff_storage_free’:
./include/linux/fs.h:111:33: warning: passing argument 2 of ‘blkdev_put’ makes pointer from integer without a cast [-Wint-conversion]
111 | #define FMODE_READ ((__force fmode_t)0x1)
| ^
| |
| unsigned int
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.c:122:48: note: in expansion of macro ‘FMODE_READ’
122 | blkdev_put(storage_bdev->bdev, FMODE_READ | FMODE_WRITE);
| ^~~~~~~~~~
In file included from /var/lib/dkms/blksnap/6.0.3.1221/build/chunk.h:6:
./include/linux/blkdev.h:1481:50: note: expected ‘void *’ but argument is of type ‘unsigned int’
1481 | void blkdev_put(struct block_device *bdev, void *holder);
| ~~~~~~^~~~~~
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.c: In function ‘diff_storage_add_storage_bdev’:
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.c:157:16: error: too few arguments to function ‘blkdev_get_by_dev’
157 | bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL);
| ^~~~~~~~~~~~~~~~~
./include/linux/blkdev.h:1474:22: note: declared here
1474 | struct block_device *blkdev_get_by_dev(dev_t dev, blk_mode_t mode, void *holder,
| ^~~~~~~~~~~~~~~~~
./include/linux/fs.h:111:33: warning: passing argument 2 of ‘blkdev_put’ makes pointer from integer without a cast [-Wint-conversion]
111 | #define FMODE_READ ((__force fmode_t)0x1)
| ^
| |
| unsigned int
/var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.c:166:34: note: in expansion of macro ‘FMODE_READ’
166 | blkdev_put(bdev, FMODE_READ | FMODE_WRITE);
| ^~~~~~~~~~
./include/linux/blkdev.h:1481:50: note: expected ‘void *’ but argument is of type ‘unsigned int’
1481 | void blkdev_put(struct block_device *bdev, void *holder);
| ~~~~~~^~~~~~
make[2]: *** [scripts/Makefile.build:251: /var/lib/dkms/blksnap/6.0.3.1221/build/diff_storage.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.5.0-10-generic/Makefile:2037: /var/lib/dkms/blksnap/6.0.3.1221/build] Error 2
make: *** [Makefile:234: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.5.0-10-generic'
6.0.3 was released before kernel 6.5, you can build from https://github.com/veeam/blksnap/commits/VAL-6.0 that support kernel 6.5
6.0.3 was released before kernel 6.5, you can build from https://github.com/veeam/blksnap/commits/VAL-6.0 that support kernel 6.5
Is there a way to update my apt sources veeam.list? I'm not sure what to change it to.
I see the install instructions. Should be no problem. Hopefully it can make its way into Veeam sources eventually.
Hi, not sure if here is the right place but with same Ubuntu and Kernel 6.6 I cannot manage to get it working, tried with several branches (stable 2.0 and VAL 6.1). Any updates planned for that Kernel?
stable-2.0, and now also master branches, don't have external module but only the one for upstream integration and not compatible with actual veeam agent for linux (if you want use for it)
as reported on top of README:
To Veeam agent for linux users:
If you need only kernel module updated with latest kernel versions support and latest fixes for it build kernel module from VAL-6.0 or VAL-6.1 branches based on your Veeam agent for linux version
Is it not enough explained and need to be improved?
about kernel 6.6 FWIK don't needs additional changes, changes for 6.5 support should be enough
can you post the build error?
if instead you want to test the latest work for upstream integration (instead of use in VAL in production) the latest patch is here and should be applied on 6.7, It's likely you won't be able to apply clean to the 6.6 kernel
Hmpf, I missed that part, no idea how - sorry for that.
So now using VAL-6.0 tree for my Veeam Agent 6.0.3 did the trick and I can confirm it is working with kernel 6.6.
Thanks a lot!