Veeam Backup Agent error during blksnap compile on PROXMOX

Jun 23, 2021
8
0
6
40
Hello
On our two PROXMOX servers version 8.2.2 do we have a compile problem with veeam blksnap.
Code:
dkms install -m blksnap -v 6.1.0.1498
Sign command: /lib/modules/6.8.4-2-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j16 KERNELRELEASE=6.8.4-2-pve -j16 -C /lib/modules/6.8.4-2-pve/build M=/var/lib/dkms/blksnap/6.1.0.1498/build modules...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64)
Consult /var/lib/dkms/blksnap/6.1.0.1498/build/make.log for more information.

I tried to understand the log /var/lib/dkms/blksnap/6.1.0.1498/build/make.log, but i couldn't find a solution so far.
Code:
DKMS make.log for blksnap-6.1.0.1498 for kernel 6.8.4-2-pve (x86_64)
Fri Apr 26 02:49:00 PM CEST 2024
make: Entering directory '/usr/src/linux-headers-6.8.4-2-pve'
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/bdevfilter.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/log.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/big_buffer.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/cbt_map.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/chunk.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_io.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_buffer.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/event_queue.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/main.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/sysfs.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/tracker.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/memory_checker.o
/var/lib/dkms/blksnap/6.1.0.1498/build/log.c:246:5: warning: no previous prototype for ‘log_processor’ [-Wmissing-prototypes]
  246 | int log_processor(void *data)
      |     ^~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_io.c:45:6: warning: no previous prototype for ‘diff_io_endio’ [-Wmissing-prototypes]
   45 | void diff_io_endio(struct bio *bio)
      |      ^~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: In function ‘diff_area_free’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:123:17: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  123 |                 blkdev_put(diff_area->orig_bdev, NULL);
      |                 ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c: In function ‘diff_storage_free’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:123:17: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  123 |                 blkdev_put(storage_bdev->bdev, NULL);
      |                 ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.c:444:5: warning: no previous prototype for ‘ioctl_mod’ [-Wmissing-prototypes]
  444 | int ioctl_mod(unsigned long arg)
      |     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.c:454:5: warning: no previous prototype for ‘ioctl_setlog’ [-Wmissing-prototypes]
  454 | int ioctl_setlog(unsigned long arg)
      |     ^~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:23:9: note: ‘#pragma message: Standalone bdevfilter’
   23 | #pragma message("Standalone bdevfilter")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:29:9: note: ‘#pragma message: The void submit_bio_noacct(struct bio *) function was found.’
   29 | #pragma message("The void submit_bio_noacct(struct bio *) function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:35:9: note: ‘#pragma message: The struct bio have pointer to struct block_device.’
   35 | #pragma message("The struct bio have pointer to struct block_device.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:41:9: note: ‘#pragma message: The bdev_nr_sectors() function was found.’
   41 | #pragma message("The bdev_nr_sectors() function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:44:9: note: ‘#pragma message: The blk_mq_alloc_disk() function was found.’
   44 | #pragma message("The blk_mq_alloc_disk() function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:50:9: note: ‘#pragma message: The function add_disk() has a return code.’
   50 | #pragma message("The function add_disk() has a return code.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:56:9: note: ‘#pragma message: The function bio_alloc_bioset() has a parameter bdev.’
   56 | #pragma message("The function bio_alloc_bioset() has a parameter bdev.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: In function ‘diff_area_new’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:296:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  296 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:296:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  296 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c: In function ‘diff_storage_add_storage_bdev’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:162:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  162 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:162:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  162 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: At top level:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:395:15: warning: no previous prototype for ‘diff_area_chunk_take’ [-Wmissing-prototypes]
  395 | struct chunk *diff_area_chunk_take(struct diff_area *diff_area,
      |               ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c: In function ‘snapshot_release_trackers’:
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c:58:21: error: implicit declaration of function ‘freeze_bdev’; did you mean ‘freeze_super’? [-Werror=implicit-function-declaration]
   58 |                 if (freeze_bdev(tracker->diff_area->orig_bdev))
      |                     ^~~~~~~~~~~
      |                     freeze_super
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_filter_attach’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:242:13: error: implicit declaration of function ‘freeze_bdev’; did you mean ‘freeze_super’? [-Werror=implicit-function-declaration]
  242 |         if (freeze_bdev(bdev))
      |             ^~~~~~~~~~~
      |             freeze_super
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c:79:21: error: implicit declaration of function ‘thaw_bdev’ [-Werror=implicit-function-declaration]
   79 |                 if (thaw_bdev(tracker->diff_area->orig_bdev))
      |                     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:259:21: error: implicit declaration of function ‘thaw_bdev’ [-Werror=implicit-function-declaration]
  259 |                 if (thaw_bdev(bdev))
      |                     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_create_or_get’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:476:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  476 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:476:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  476 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c: In function ‘snapimage_create’:
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c:292:47: error: ‘BLK_DEF_MAX_SECTORS’ undeclared (first use in this function); did you mean ‘BLK_SAFE_MAX_SECTORS’?
  292 |         blk_queue_max_hw_sectors(disk->queue, BLK_DEF_MAX_SECTORS);
      |                                               ^~~~~~~~~~~~~~~~~~~
      |                                               BLK_SAFE_MAX_SECTORS
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c:292:47: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:531:9: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  531 |         blkdev_put(bdev, NULL);
      |         ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_remove’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:548:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  548 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_read_cbt_bitmap’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:626:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  626 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘collect_cbt_info’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:678:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  678 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_mark_dirty_blocks’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:765:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  765 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/tracker.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.8.4-2-pve/Makefile:1926: /var/lib/dkms/blksnap/6.1.0.1498/build] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.8.4-2-pve'

It might be some one better in this as me? Thanks for any help!
 
Last edited:
From log above it seems that issue related to Veeam Agent's code.
When they fix it - who knows.
 
Last edited:
Hello
On our two PROXMOX servers version 8.2.2 do we have a compile problem with veeam blksnap.
Code:
dkms install -m blksnap -v 6.1.0.1498
Sign command: /lib/modules/6.8.4-2-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j16 KERNELRELEASE=6.8.4-2-pve -j16 -C /lib/modules/6.8.4-2-pve/build M=/var/lib/dkms/blksnap/6.1.0.1498/build modules...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64)
Consult /var/lib/dkms/blksnap/6.1.0.1498/build/make.log for more information.

I tried to understand the log /var/lib/dkms/blksnap/6.1.0.1498/build/make.log, but i couldn't find a solution so far.
Code:
DKMS make.log for blksnap-6.1.0.1498 for kernel 6.8.4-2-pve (x86_64)
Fri Apr 26 02:49:00 PM CEST 2024
make: Entering directory '/usr/src/linux-headers-6.8.4-2-pve'
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/bdevfilter.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/log.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/big_buffer.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/cbt_map.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/chunk.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_io.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_buffer.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/event_queue.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/main.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/sysfs.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/tracker.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/memory_checker.o
/var/lib/dkms/blksnap/6.1.0.1498/build/log.c:246:5: warning: no previous prototype for ‘log_processor’ [-Wmissing-prototypes]
  246 | int log_processor(void *data)
      |     ^~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_io.c:45:6: warning: no previous prototype for ‘diff_io_endio’ [-Wmissing-prototypes]
   45 | void diff_io_endio(struct bio *bio)
      |      ^~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: In function ‘diff_area_free’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:123:17: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  123 |                 blkdev_put(diff_area->orig_bdev, NULL);
      |                 ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c: In function ‘diff_storage_free’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:123:17: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  123 |                 blkdev_put(storage_bdev->bdev, NULL);
      |                 ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.c:444:5: warning: no previous prototype for ‘ioctl_mod’ [-Wmissing-prototypes]
  444 | int ioctl_mod(unsigned long arg)
      |     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.c:454:5: warning: no previous prototype for ‘ioctl_setlog’ [-Wmissing-prototypes]
  454 | int ioctl_setlog(unsigned long arg)
      |     ^~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:23:9: note: ‘#pragma message: Standalone bdevfilter’
   23 | #pragma message("Standalone bdevfilter")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:29:9: note: ‘#pragma message: The void submit_bio_noacct(struct bio *) function was found.’
   29 | #pragma message("The void submit_bio_noacct(struct bio *) function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:35:9: note: ‘#pragma message: The struct bio have pointer to struct block_device.’
   35 | #pragma message("The struct bio have pointer to struct block_device.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:41:9: note: ‘#pragma message: The bdev_nr_sectors() function was found.’
   41 | #pragma message("The bdev_nr_sectors() function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:44:9: note: ‘#pragma message: The blk_mq_alloc_disk() function was found.’
   44 | #pragma message("The blk_mq_alloc_disk() function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:50:9: note: ‘#pragma message: The function add_disk() has a return code.’
   50 | #pragma message("The function add_disk() has a return code.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:56:9: note: ‘#pragma message: The function bio_alloc_bioset() has a parameter bdev.’
   56 | #pragma message("The function bio_alloc_bioset() has a parameter bdev.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: In function ‘diff_area_new’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:296:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  296 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:296:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  296 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c: In function ‘diff_storage_add_storage_bdev’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:162:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  162 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:162:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  162 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: At top level:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:395:15: warning: no previous prototype for ‘diff_area_chunk_take’ [-Wmissing-prototypes]
  395 | struct chunk *diff_area_chunk_take(struct diff_area *diff_area,
      |               ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c: In function ‘snapshot_release_trackers’:
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c:58:21: error: implicit declaration of function ‘freeze_bdev’; did you mean ‘freeze_super’? [-Werror=implicit-function-declaration]
   58 |                 if (freeze_bdev(tracker->diff_area->orig_bdev))
      |                     ^~~~~~~~~~~
      |                     freeze_super
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_filter_attach’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:242:13: error: implicit declaration of function ‘freeze_bdev’; did you mean ‘freeze_super’? [-Werror=implicit-function-declaration]
  242 |         if (freeze_bdev(bdev))
      |             ^~~~~~~~~~~
      |             freeze_super
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c:79:21: error: implicit declaration of function ‘thaw_bdev’ [-Werror=implicit-function-declaration]
   79 |                 if (thaw_bdev(tracker->diff_area->orig_bdev))
      |                     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:259:21: error: implicit declaration of function ‘thaw_bdev’ [-Werror=implicit-function-declaration]
  259 |                 if (thaw_bdev(bdev))
      |                     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_create_or_get’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:476:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  476 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:476:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  476 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c: In function ‘snapimage_create’:
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c:292:47: error: ‘BLK_DEF_MAX_SECTORS’ undeclared (first use in this function); did you mean ‘BLK_SAFE_MAX_SECTORS’?
  292 |         blk_queue_max_hw_sectors(disk->queue, BLK_DEF_MAX_SECTORS);
      |                                               ^~~~~~~~~~~~~~~~~~~
      |                                               BLK_SAFE_MAX_SECTORS
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c:292:47: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:531:9: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  531 |         blkdev_put(bdev, NULL);
      |         ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_remove’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:548:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  548 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_read_cbt_bitmap’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:626:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  626 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘collect_cbt_info’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:678:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  678 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_mark_dirty_blocks’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:765:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  765 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/tracker.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.8.4-2-pve/Makefile:1926: /var/lib/dkms/blksnap/6.1.0.1498/build] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.8.4-2-pve'

It might be some one better in this as me? Thanks for any help!
hi
you may try my steps here, if you haven't fixed it on your own already:
https://github.com/veeam/blksnap/issues/88#issuecomment-2100345227
 
hi
you may try my steps here, if you haven't fixed it on your own already:
https://github.com/veeam/blksnap/issues/88#issuecomment-2100345227
Hey @littlesatno,
big thanks, that helped me a lot and i got it working.
Step 4. was a bit confusing, maybe there is a typo in there.

Another short question: Do you know when you back-up the whole pve, does that include mounted devices? Like a NAS with NFS. Because i get snapshot overflow errors when i run the backup.
If you don't have a answer i will open a new thread with my question.
 
Hey @littlesatno,
big thanks, that helped me a lot and i got it working.
Step 4. was a bit confusing, maybe there is a typo in there.

Another short question: Do you know when you back-up the whole pve, does that include mounted devices? Like a NAS with NFS. Because i get snapshot overflow errors when i run the backup.
If you don't have a answer i will open a new thread with my question.
hi softwald:
I am glad to hear that it was useful for you and thx for the hint about step for (the two commands have been on two separte lines)
as far as I noticed, mounted devices are not included. I say that because I have also mounted my NAS (not sure if I have it mounted as NFS now but I had when I started with proxmox and might have switched to smb mounts. edit: just checked it and now I only mount as cifs) and have no issues.
 
Last edited:
Have you ever used Vinchin Backup & Recovery? It is also a professional backup solution for virtual machines and provides native support for Proxmox.