veeam / veeamsnap

Veeam Agent for Linux kernel module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kernel 5.8 is supported in the experimental branch.

CodeImp opened this issue · comments

/build/snapstore_mem.c:76:23: error: too many arguments to function "__vmalloc"
buffer_el->buff = __vmalloc( SNAPSTORE_BLK_SIZE * SECTOR_SIZE, GFP_NOIO, PAGE_KERNEL );

Fixed in experimental branch.

Thanks - anyone else tried this yet? Veeam ist not working any longer in 5.8.0 for me with this Patch applied.

Hanging on "Creating Volume snapshot" and then causing the System to hang

Yes. System to hang and kernel panic.
I confirmed this on Fedora Rawhide.
Who wants to find the cause of the problem?
You can make a pull request in the experimental branch!

With the latest fix, the system doesn't hang, but this isn't the solution to the problem.

commented

Kernel 5.9

Making all...
ccflags-y= -O2 -Wno-multichar -DDISTRIB_NAME_ARCH -DDISTRIB_VERSION_1=1
make -C /lib/modules/5.9.1-arch1-1/build M=/tmp/veeamsnap-4.0.1.2365 modules
make[1]: Entering directory '/usr/lib/modules/5.9.1-arch1-1/build'
  CC [M]  /tmp/veeamsnap-4.0.1.2365/log.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/mem_alloc.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/sparse_bitmap.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/container.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/container_spinlocking.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/queue_spinlocking.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/bitmap_sync.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/page_array.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/rangelist.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/rangelist_ex.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/rangevector.o
  CC [M]  /tmp/veeamsnap-4.0.1.2365/blk_util.o
/tmp/veeamsnap-4.0.1.2365/blk_util.c: In function ‘_blk_dev_get_info’:
/tmp/veeamsnap-4.0.1.2365/blk_util.c:68:45: error: ‘struct block_device’ has no member named ‘bd_queue’
   68 |     pdev_info->physical_block_size = blk_dev->bd_queue->limits.physical_block_size;
      |                                             ^~
/tmp/veeamsnap-4.0.1.2365/blk_util.c:69:44: error: ‘struct block_device’ has no member named ‘bd_queue’
   69 |     pdev_info->logical_block_size = blk_dev->bd_queue->limits.logical_block_size;
      |                                            ^~
/tmp/veeamsnap-4.0.1.2365/blk_util.c:70:32: error: ‘struct block_device’ has no member named ‘bd_queue’
   70 |     pdev_info->io_min = blk_dev->bd_queue->limits.io_min;
      |                                ^~
make[2]: *** [scripts/Makefile.build:283: /tmp/veeamsnap-4.0.1.2365/blk_util.o] Error 1
make[1]: *** [Makefile:1784: /tmp/veeamsnap-4.0.1.2365] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.9.1-arch1-1/build'
make: *** [Makefile:77: all] Error 2

We're still working on it.
Last news: https://lkml.org/lkml/2020/10/21/122.

commented

Ironically I'm on 5.8 on my main machine ONLY because veeamservice was core dumping on trying to enumerate the subvolumes on an btrfs disk (which I didn't want to use it in any way but I couldn't find how to ignore it either). Turns out it was some btrfs kernel issue because "btrfs subvolume list -a" would crash too sometimes (even if I don't actually have any subvolumes and regardless of btrfs-progs version), check and scrub were fine - anyway long story short now 5.8 is fine. Except for the fact that the module doesn't work at all anymore!

I can confirm the problem of k0ste with kernel 5.9.0-4-amd64 on Debian.
Should we open a new Issue for this or will it be handled in this issue?

handled in this issue. And 5.10 too.

For those who are ready to experiment with the new kernel, the experimental branch has patch blk_interposer and a module that works with it. Probably works...
Feedback is welcome!

commented

I can confirm it works with Fedora 33. No problems in the last 10 days.

I can confirm it works with Fedora 33. No problems in the last 10 days.

Thank you for feedback!

Kernel 5.8, right?

last 10 days.... Hm. Update your code please for fix problem with q_usage_counter.

commented

Kernel 5.10.7. I will update veeamsnap. Thank you.

Ok. Problem with q_usage_counter was specific to 5.8.

commented

Kernel 5.10.7. I will update veeamsnap. Thank you.

@rbras,

Did you install blk_interposer or any other patches, or you are using vanilla 5.10.7?

Thanks!

commented

I patched the kernel with blk_interposer

hi. any updates on this ?
looks like new version of veeam released 5.0.0.4318
is 5.8 supported ?

hi. any updates on this ?
looks like new version of veeam released 5.0.0.4318
is 5.8 supported ?

Right.
I push commit "compatible with veeam-5.0.0.4318" now.

I am also preparing an update of the blk_interposer patch and a corresponding change in the module. Will be soon.

Hi all.

blk_interposer and the veeamsnap module in the experimental branch have been updated.
The changes in blk_interposer implement the wishes of the Linux kernel block layer maintainers.

Thanks for the good news and work :)

Hi all.

The el 8.4 beta is available.
Since the kernel for el 8.4 has something in common with the upstream core of 5.8, we had to make a special fix.

The latest changes in the experimental branch allow to work on kernels 5.9, 5.10 and 5.11 without applying a patch.

For the convenience of working with the module from the source code, the command "make dkms-deb-pkg" is added, which allows to build a dkms package for debian/ubuntu. See readme.
It's compatible with veeam 5.0.0.4318.

Feedback is welcome.

@CodeImp:
I can confirm that the backup with the latest fixes works on kernel 5.11.21 without having any blk_interposer patches applied.

However, the Makefile doesn't seem to be compatible with fedora 34. The config.h file DOES NOT get generated automatically. Probably because the dkms implementation in fedora doesn't use the default target.
As a workaround I copied line chmod +x ./genconfig.sh && ./genconfig.sh "$(KERNEL_RELEASE)" to the clean target (after the rm step)

commented

It fails on fedora 33 with kernel 5.12.6.

in file included from ./include/linux/kernel.h:14,
from ./include/linux/list.h:9,
from ./include/linux/module.h:12,
from /var/lib/dkms/veeamsnap/experimental/build/stdafx.h:7,
from /var/lib/dkms/veeamsnap/experimental/build/blk_direct.c:3:
/var/lib/dkms/veeamsnap/experimental/build/blk_direct.c: In function ‘_dev_direct_submit_pages’:
/var/lib/dkms/veeamsnap/experimental/build/blk_direct.c:127:54: error: ‘BIO_MAX_PAGES’ undeclared (first use in this function); did you mean ‘BIO_MAX_VECS’?
127 | size_sector = min_t( sector_t, size_sector, (BIO_MAX_PAGES << (PAGE_SHIFT - SECTOR_SHIFT)) );
| ^~~~~~~~~~~~~
./include/linux/minmax.h:18:39: note: in definition of macro ‘__typecheck’
18 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^
./include/linux/minmax.h:42:24: note: in expansion of macro ‘__safe_cmp’
42 | __builtin_choose_expr(__safe_cmp(x, y),
| ^~~~~~~~~~
./include/linux/minmax.h:110:27: note: in expansion of macro ‘__careful_cmp’
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
/var/lib/dkms/veeamsnap/experimental/build/blk_direct.c:127:23: note: in expansion of macro ‘min_t’
127 | size_sector = min_t( sector_t, size_sector, (BIO_MAX_PAGES << (PAGE_SHIFT - SECTOR_SHIFT)) );
| ^~~~~
/var/lib/dkms/veeamsnap/experimental/build/blk_direct.c:127:54: note: each undeclared identifier is reported only once for each function it appears in
127 | size_sector = min_t( sector_t, size_sector, (BIO_MAX_PAGES << (PAGE_SHIFT - SECTOR_SHIFT)) );
| ^~~~~~~~~~~~~
./include/linux/minmax.h:18:39: note: in definition of macro ‘__typecheck’
18 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^
./include/linux/minmax.h:42:24: note: in expansion of macro ‘__safe_cmp’
42 | __builtin_choose_expr(__safe_cmp(x, y),
| ^~~~~~~~~~
./include/linux/minmax.h:110:27: note: in expansion of macro ‘__careful_cmp’
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
/var/lib/dkms/veeamsnap/experimental/build/blk_direct.c:127:23: note: in expansion of macro ‘min_t’
127 | size_sector = min_t( sector_t, size_sector, (BIO_MAX_PAGES << (PAGE_SHIFT - SECTOR_SHIFT)) );
| ^~~~~
./include/linux/minmax.h:42:2: error: first argument to ‘__builtin_choose_expr’ not a constant
42 | __builtin_choose_expr(__safe_cmp(x, y),
| ^~~~~~~~~~~~~~~~~~~~~
./include/linux/minmax.h:110:27: note: in expansion of macro ‘__careful_cmp’
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
/var/lib/dkms/veeamsnap/experimental/build/blk_direct.c:127:23: note: in expansion of macro ‘min_t’
127 | size_sector = min_t( sector_t, size_sector, (BIO_MAX_PAGES << (PAGE_SHIFT - SECTOR_SHIFT)) );
| ^~~~~
make[1]: *** [scripts/Makefile.build:271: /var/lib/dkms/veeamsnap/experimental/build/blk_direct.o] Erro 1
make[1]: *** A aguardar por trabalhos não terminados....
CC [M] /var/lib/dkms/veeamsnap/experimental/build/blk_descr_pool.o
/var/lib/dkms/veeamsnap/experimental/build/blk_redirect.c: In function ‘_blk_dev_redirect_part_fast’:
/var/lib/dkms/veeamsnap/experimental/build/blk_redirect.c:167:20: error: ‘BIO_MAX_PAGES’ undeclared (first use in this function); did you mean ‘BIO_MAX_VECS’?
167 | max_sect = BIO_MAX_PAGES << (PAGE_SHIFT - SECTOR_SHIFT);
| ^~~~~~~~~~~~~
| BIO_MAX_VECS
/var/lib/dkms/veeamsnap/experimental/build/blk_redirect.c:167:20: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [scripts/Makefile.build:271: /var/lib/dkms/veeamsnap/experimental/build/blk_redirect.o] Erro 1
/var/lib/dkms/veeamsnap/experimental/build/snapdata_collect.c: In function ‘snapdata_collect_Find’:
/var/lib/dkms/veeamsnap/experimental/build/snapdata_collect.c:326:47: error: ‘struct bio’ has no member named ‘bi_disk’
326 | (collector->device->bd_disk == bio->bi_disk)
| ^~
make[1]: *** [scripts/Makefile.build:271: /var/lib/dkms/veeamsnap/experimental/build/snapdata_collect.o] Erro 1
/var/lib/dkms/veeamsnap/experimental/build/snapimage.c: In function ‘_snapimage_submit_bio’:
/var/lib/dkms/veeamsnap/experimental/build/snapimage.c:648:34: error: ‘struct bio’ has no member named ‘bi_disk’
648 | struct request_queue *q = bio->bi_disk->queue;
| ^~
make[1]: *** [scripts/Makefile.build:271: /var/lib/dkms/veeamsnap/experimental/build/snapimage.o] Erro 1
make: *** [Makefile:1852: /var/lib/dkms/veeamsnap/experimental/build] Erro 2
make: leaving "/usr/src/kernels/5.12.6-200.fc33.x86_64"

Yes. LK v5.12 is not supported yet.

Ran Device Backup successfully on Ubuntu 21.04 (5.11.0-17) with veeamsnap module created via deb helper from experimental branch.

I had to apt-mark hold veeam & veeamsnap to prevent updates of veeamsnap via dep package source, the rest worked just fine

apt policy veeamsnap shows:

veeamsnap:
  Installiert:           5.0.0.4318
  Installationskandidat: 5.0.0.4318
  Versionstabelle:
     5.0.0.4318 500
        500 http://repository.veeam.com/backup/linux/agent/dpkg/debian/public stable/veeam amd64 Packages
 *** 5.0.0.4318 100
        100 /var/lib/dpkg/status

Added support for lk 5.12.
In the 5.13-rc5 kernel, it is also available for building.
Issues were fixed in genconfig.sh.

Feedback is welcome.

@CodeImp:
I still need to add line chmod +x ./genconfig.sh && ./genconfig.sh "$(KERNEL_RELEASE)" to the clean target (after the rm step) in the Makefile in order to make it working on fedora 34.
Otherwise it complains about a not existent file "config.h".

@CodeImp:
I still need to add line chmod +x ./genconfig.sh && ./genconfig.sh "$(KERNEL_RELEASE)" to the clean target (after the rm step) in the Makefile in order to make it working on fedora 34.
Otherwise it complains about a not existent file "config.h".

I am sure that the "make" command should call the "default" goal, which contains the configuration step. When using dkms, this step is performed thanks to the PRE_BUILD parameter in the dkms file.

For debian, this should work. I did not make a goal to build a dkms package for rpm yet. I should probably do it and check it out.

Tested with Fedora 34 a few minutes ago, worked without problems after sudo make and sudo make install.
Backup using Entire-Machine setting in VAL is running now.

Thanks.

commented

genconfig.sh did not work on Fedora 33. I had to change #!/bin/bash -e to #/!bin/bash. After that it compiled the module without errors.

genconfig.sh did not work on Fedora 33. I had to change #!/bin/bash -e to #/!bin/bash. After that it compiled the module without errors.

Quite a lot in the feedback I see is the Fedora distrib. I'll take that into consideration.

Linux server 5.8.0-0.bpo.2-amd64 #1 SMP Debian 5.8.10-1~bpo10+1 (2020-09-26) x86_64 GNU/Linux

Can;t compile

/root/veeamsnap-experimental/source/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/root/veeamsnap-experimental/source/tracker_queue.h:69:7: error: macro names must be identifiers
#ifdef(BLK_MQ_MAKE_REQUEST_EXPORTED)
^

Linux server 5.8.0-0.bpo.2-amd64 #1 SMP Debian 5.8.10-1~bpo10+1 (2020-09-26) x86_64 GNU/Linux

Can;t compile

/root/veeamsnap-experimental/source/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/root/veeamsnap-experimental/source/tracker_queue.h:69:7: error: macro names must be identifiers
#ifdef(BLK_MQ_MAKE_REQUEST_EXPORTED)
^

Hello.
I just merged openSUSE / SLES 15.3 support from my branch.
The bug you are writing about has been fixed in this commits.

Mint 20.2 with 5.11.0-22-generic on experimental branch -- build ok, backup ok. restore not tested

Can't build on Arch Linux 5.12.15 linux-zen kernel:

Configuring...
chmod +x ./genconfig.sh && ./genconfig.sh "5.12.15-zen1-1-zen"
Generate "./config.h" for kernel "5.12.15-zen1-1-zen" and system map "/boot/System.map-5.12.15-zen1-1-zen".
grep: /boot/System.map-5.12.15-zen1-1-zen: No such file or directory
Exported function "blk_mq_make_request" not found
grep: /boot/System.map-5.12.15-zen1-1-zen: No such file or directory
Exported function "blk_alloc_queue_rh" not found
grep: /boot/System.map-5.12.15-zen1-1-zen: No such file or directory
Exported function "submit_bio_noacct" not found
grep: /boot/System.map-5.12.15-zen1-1-zen: No such file or directory
Function "printk" not found
grep: /boot/System.map-5.12.15-zen1-1-zen: No such file or directory
Function "blk_mq_submit_bio" not found
Making all...
ccflags-y= -O2 -Wno-multichar
make -j4 -C /lib/modules/5.12.15-zen1-1-zen/build M=/tmp/veeamsnap/source modules
make[1]: Entering directory '/usr/lib/modules/5.12.15-zen1-1-zen/build'
  CC [M]  /tmp/veeamsnap/source/log.o
  CC [M]  /tmp/veeamsnap/source/mem_alloc.o
  CC [M]  /tmp/veeamsnap/source/sparse_bitmap.o
  CC [M]  /tmp/veeamsnap/source/container.o
  CC [M]  /tmp/veeamsnap/source/container_spinlocking.o
  CC [M]  /tmp/veeamsnap/source/queue_spinlocking.o
  CC [M]  /tmp/veeamsnap/source/bitmap_sync.o
  CC [M]  /tmp/veeamsnap/source/page_array.o
  CC [M]  /tmp/veeamsnap/source/rangelist.o
  CC [M]  /tmp/veeamsnap/source/rangelist_ex.o
  CC [M]  /tmp/veeamsnap/source/rangevector.o
  CC [M]  /tmp/veeamsnap/source/blk_util.o
  CC [M]  /tmp/veeamsnap/source/blk_direct.o
  CC [M]  /tmp/veeamsnap/source/blk_redirect.o
  CC [M]  /tmp/veeamsnap/source/blk_deferred.o
  CC [M]  /tmp/veeamsnap/source/defer_io.o
  CC [M]  /tmp/veeamsnap/source/cbt_storage.o
  CC [M]  /tmp/veeamsnap/source/cbt_map.o
In file included from /tmp/veeamsnap/source/defer_io.h:7,
                 from /tmp/veeamsnap/source/defer_io.c:4:
/tmp/veeamsnap/source/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/tmp/veeamsnap/source/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function)
   70 |         (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
      |          ^~~~~~~~~~~~~~~~~~~~~~
/tmp/veeamsnap/source/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
  CC [M]  /tmp/veeamsnap/source/cbt_notify.o
/tmp/veeamsnap/source/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function)
   70 |         (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
      |                                                                          ^~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:271: /tmp/veeamsnap/source/defer_io.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /tmp/veeamsnap/source/tracker.h:5,
                 from /tmp/veeamsnap/source/cbt_notify.c:11:
/tmp/veeamsnap/source/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/tmp/veeamsnap/source/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function)
   70 |         (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
      |          ^~~~~~~~~~~~~~~~~~~~~~
/tmp/veeamsnap/source/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
/tmp/veeamsnap/source/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function)
   70 |         (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
      |                                                                          ^~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:271: /tmp/veeamsnap/source/cbt_notify.o] Error 1
make[1]: *** [Makefile:1862: /tmp/veeamsnap/source] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.12.15-zen1-1-zen/build'
make: *** [Makefile:68: default] Error 2

Can't build on Arch Linux 5.12.15 linux-zen kernel:

Same for me with a most recent Debian Testing.

% uname -a
Linux HGH0007 5.10.0-7-amd64 #1 SMP Debian 5.10.40-1 (2021-05-28) x86_64 GNU/Linux

DKMS make.log for veeamsnap-5.0.0.4318 for kernel 5.10.0-8-amd64 (x86_64)
Fr 30. Jul 14:45:38 CEST 2021
make: Entering directory '/usr/src/linux-headers-5.10.0-8-amd64'
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/log.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/mem_alloc.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/sparse_bitmap.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/container.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/container_spinlocking.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/queue_spinlocking.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/bitmap_sync.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/page_array.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/rangelist.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/rangelist_ex.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/rangevector.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_util.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_direct.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_redirect.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_deferred.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_storage.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_map.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_notify.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_params.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_persistent.o
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.h:7,
from /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.c:4:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function)
70 | (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
| ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function)
70 | (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
| ^~~~~~~~~~~
make[2]: *** [/usr/src/linux-headers-5.10.0-8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker.h:5,
from /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_notify.c:11:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function)
70 | (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
| ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function)
70 | (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
| ^~~~~~~~~~~
make[2]: *** [/usr/src/linux-headers-5.10.0-8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_notify.o] Error 1
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker.h:5,
from /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_persistent.c:13:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function)
70 | (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
| ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function)
70 | (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
| ^~~~~~~~~~~
make[2]: *** [/usr/src/linux-headers-5.10.0-8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_persistent.o] Error 1
make[1]: *** [/usr/src/linux-headers-5.10.0-8-common/Makefile:1845: /var/lib/dkms/veeamsnap/5.0.0.4318/build] Error 2
make: *** [/usr/src/linux-headers-5.10.0-8-common/Makefile:185: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-5.10.0-8-amd64'

Debian 11 with Kernel 5.10.0-8 is now stable, this means Veeam Backup on Debian Stable is broken.
If this will not be fixed soon I need to switch my backup solution like @dekart811 did.

Switching to veeam-nosnap doing a files level backup of / works for me. Must check "Backup directly from live file system" in backup mode. Excluded /dev, /proc, /sys, and remote mounts.

On Debian stable I get the same make failures.

The fact that there's no solution in over a year simply means that the issue is complicated and there are lots of moving parts of which Veeam is not in full control (although, realistically, there are some some solutions, as noted above, they just don't all work for everything).

Veeam did not remove the kernel functions that made it possible for 3rd party modules to intercept bio request, the Linux kernel developers did this. We understand that the Linux kernel developers are under no obligation to provide API functions for 3rd party modules, whether open source, like veeamsnap, or not, however, there are no equivalent functions for taking block level snapshots of all block devices, with CBT, within the Linux kernel. There are some capabilities in DM mapper and LVM, but they generally requires systems to be pre-configured before they can work and even then, the functions are limited vs veeamsnap. Certainly it's a less seamless user experience.

Note that these changes didn't impact only Veeam, they impacted many vendors that use various kernel modules for image based backups or used those calls for other purposes, trust me, we've talked to many of them about the pain it did cause. However, I believe we are the only vendor that attempted to work with the Linux kernel community to provide a fully open source solution and I believe we are the only vendor that provides our block level snapshot and CBT driver as fully open source.

While there are ways to work around the issue using other kernel capabilities, they are quite clunky and we really hoped to get a solution upstream so that other vendors, even open source ones, could have a singular framework to use for image based backups and CBT as we believe such a framework would truly benefit the Linux community. However, while we did made some progress with this approach, unfortunately, that work stalled due to other issues and priorities upstream (this is not an attempt to point fingers at any kernel developer, they of course have their own priorities and issues to address).

As noted above, Veeam continues to offer the ability to do file based backups, without snapshots, using the veeam-nosnap package above. This capability has existed for some time and will work with any kernel. The kernel requirement comes when you want to do a system wide, image based backup of a consistent point-in-time, with change block tracking, along with the ability to do bare-metal restores or images restores to other platforms.

Regardless, even though our efforts to get a block level snapshot or dm-level filter into the Linux kernel have so far failed, that doesn't mean we will stop trying. We will continue to work with the Linux kernel developer community and with Linux distro vendors to hopefully provide an open source solution in the future and to keep veeamsnap supported on those distros in the interim. Of course, for 100% community focused distros, this is much more complex.

Note that Veeam has never promised that veeamsnap would work with any distro, or with every single kernel version. We document the list of supported distros, and even versions of those distros, in our release notes, and we officially support the kernel versions that ship with those distros and versions. However, veeamsnap itself has always been open source, as evidence by this very github repository, which is why it's even possible to try to use veeamsnap on non-officially supported distros.

Hopefully, one day, we will manage to get a framework for images based backup into the Linux kernel, but, for now, we do have plans to support many >5.8 kernel distros, including Debian 11, in our upcoming v11a release in the coming weeks.

It doesn't build on kernel 5.14.1:

Configuring...
chmod +x ./genconfig.sh && ./genconfig.sh "5.14.1-1-default"
Generate "./config.h" for kernel "5.14.1-1-default" and system map "/lib/modules/5.14.1-1-default/System.map".
Exported function "blk_mq_make_request" not found
Exported function "blk_alloc_queue_rh" not found
Exported function "submit_bio_noacct" was found
Address of the function "printk" was defined
Address of the function "blk_mq_submit_bio" was defined
Making all...
ccflags-y= -O2 -Wno-multichar
make -j4 -C /lib/modules/5.14.1-1-default/build M=/home/BOMA/praets/Git/Github/veeamsnap/source modules
make[1]: Entering directory '/usr/src/linux-5.14.1-1-obj/x86_64/default'
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/log.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/mem_alloc.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/sparse_bitmap.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/container.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/container_spinlocking.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/queue_spinlocking.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/bitmap_sync.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/page_array.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/rangelist.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/rangelist_ex.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/rangevector.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_util.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_direct.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_redirect.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_deferred.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/defer_io.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/cbt_storage.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/cbt_map.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/cbt_notify.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/cbt_params.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/cbt_persistent.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/cbt_checkfs.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/ext4_check.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/tracker.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/tracker_queue.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/snapimage.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/snapdata_collect.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_descr_mem.o
/home/BOMA/praets/Git/Github/veeamsnap/source/snapimage.c: In function ‘snapimage_create’:
/home/BOMA/praets/Git/Github/veeamsnap/source/snapimage.c:841:24: error: implicit declaration of function ‘blk_alloc_queue’; did you mean ‘blk_sync_queue’? [-Werror=implicit-function-declaration]
  841 |         image->queue = blk_alloc_queue(NUMA_NO_NODE);
      |                        ^~~~~~~~~~~~~~~
      |                        blk_sync_queue
/home/BOMA/praets/Git/Github/veeamsnap/source/snapimage.c:841:22: warning: assignment to ‘struct request_queue *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  841 |         image->queue = blk_alloc_queue(NUMA_NO_NODE);
      |                      ^
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_descr_file.o
  CC [M]  /home/BOMA/praets/Git/Github/veeamsnap/source/blk_descr_multidev.o
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-5.14.1-1/scripts/Makefile.build:272: /home/BOMA/praets/Git/Github/veeamsnap/source/snapimage.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/usr/src/linux-5.14.1-1/Makefile:1865: /home/BOMA/praets/Git/Github/veeamsnap/source] Error 2
make[1]: *** [../../../linux-5.14.1-1/Makefile:220: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-5.14.1-1-obj/x86_64/default'
make: *** [Makefile:68: default] Error 2

This is on openSUSE Tumbleweed:
Linux PRAETS 5.14.1-1-default #1 SMP Sat Sep 4 08:22:51 UTC 2021 (67af907) x86_64 x86_64 x86_64 GNU/Linux

For kernels 5.14.x I created the following patch, which brings back blk_alloc_queue()...
If this also works for other people then I'm going to create a pull request.
Please give feedback 😃

diff --git a/source/genconfig.sh b/source/genconfig.sh
index 25705de..e90d12e 100755
--- a/source/genconfig.sh
+++ b/source/genconfig.sh
@@ -94,7 +94,7 @@ then
 	done
 
 	# parses the system map and determines the addresses for some non-exported functions
-	SYMBOLS="printk blk_mq_submit_bio"
+	SYMBOLS="printk blk_mq_submit_bio blk_alloc_queue"
 	for SYMBOL_NAME in ${SYMBOLS}
 	do
 		SYMBOL_ADDR=$(grep " ${SYMBOL_NAME}$" "${SYSTEM_MAP_FILE}" | awk '{print $1}')
diff --git a/source/snapimage.c b/source/snapimage.c
index 42e2661..90f218c 100644
--- a/source/snapimage.c
+++ b/source/snapimage.c
@@ -15,6 +15,14 @@ static inline unsigned long int do_div_inline( unsigned long long int division,
     return result;
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
+static inline struct request_queue *blk_alloc_queue(int node_id)
+{
+    typedef struct request_queue* blk_alloc_queue_t(int);
+    return ((blk_alloc_queue_t*)BLK_ALLOC_QUEUE_ADDR)(node_id);
+}
+#endif
+
 #include "snapimage.h"
 #include "blk_util.h"
 #include "defer_io.h"

By the way:
Is seems as if the function blk_mq_submit_bio() is exported again after it was removed in a previous version. So probably some of the workarounds are not required any more.
See also https://lore.kernel.org/lkml/YT7rL4PhovDOHfHO@infradead.org/T/

commented

Hi Michael – if you read the entire thread, the patch was rejected. But it is really funny to read because we (Veeam) were in the exact same discussion 1 year ago… and we received the same answer from the same person back then. Microsoft seems to be at the very beginning of the path that we’ve been on for over a year now :)

Alright; I'll have a look at that again. Because I can clearly see that blk_mq_submit_bio() is part of /include/linux/blk-mq.h in kernel 5.14.9-200.fc34.x86_64 (fedora 34).

Did you also had a chance to have a look at my patch regarding kernel 5.14?

Thanks @mike2307. I'll look at 5.14 this week.

I can build the package on 5.10 but i'm unable to install it :

root@nas:/tmp# uname -a
Linux nas 5.10.0-0.bpo.8-amd64 #1 SMP Debian 5.10.46-4~bpo10+1 (2021-08-07) x86_64 GNU/Linux


root@nas:/tmp# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"


root@nas:~/veeamsnap/source# make VERSION_MAJOR=5 VERSION_MINOR=0 VERSION_REV=0 VERSION_BUILD=4318 dkms-deb-pkg
mkdir -p ../build/src
chmod 0666 ../build/debian/control
chmod 0766 ../build/debian/rules
chmod 0766 ../build/src/genconfig.sh
sed -i '0,/FILEVER_MAJOR [0-9]\+/s/FILEVER_MAJOR [0-9]\+/FILEVER_MAJOR 5/g' ../build/src/version.h
sed -i '0,/FILEVER_MINOR [0-9]\+/s/FILEVER_MINOR [0-9]\+/FILEVER_MINOR 0/g' ../build/src/version.h
sed -i '0,/FILEVER_REVISION [0-9]\+/s/FILEVER_REVISION [0-9]\+/FILEVER_REVISION 0/g' ../build/src/version.h
sed -i '0,/FILEVER_BUILD [0-9]\+/s/FILEVER_BUILD [0-9]\+/FILEVER_BUILD 4318/g' ../build/src/version.h
find ../build -type f -exec sed -i 's/#PACKAGE_VERSION#/5.0.0.4318/g' {} +
cd ../build && dpkg-buildpackage -us -uc -b
dpkg-buildpackage: info: paquet source veeamsnap
dpkg-buildpackage: info: version source 5.0.0.4318
dpkg-buildpackage: info: distribution source unstable
dpkg-buildpackage: info: source changé par Veeam Software Group GmbH <https://www.veeam.com/contacts.html>
dpkg-buildpackage: info: architecture hôte amd64
 dpkg-source --before-build .
 debian/rules clean
make[1] : on entre dans le répertoire « /root/veeamsnap/build »
dh clean --with dkms
dh: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_clean
dh_clean: Compatibility levels before 9 are deprecated (level 8 in use)
make[1] : on quitte le répertoire « /root/veeamsnap/build »
 debian/rules build
make[1] : on entre dans le répertoire « /root/veeamsnap/build »
dh build --with dkms
dh: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_update_autotools_config
make[1] : on quitte le répertoire « /root/veeamsnap/build »
 debian/rules binary
make[1] : on entre dans le répertoire « /root/veeamsnap/build »
dh binary --with dkms
dh: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_testroot
   dh_prep
   debian/rules override_dh_install
make[2] : on entre dans le répertoire « /root/veeamsnap/build »
dh_install src/* usr/src/veeamsnap-5.0.0.4318/
dh_install: Compatibility levels before 9 are deprecated (level 8 in use)
make[2] : on quitte le répertoire « /root/veeamsnap/build »
   dh_installdocs
dh_installdocs: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_installchangelogs
   debian/rules override_dh_dkms
make[2] : on entre dans le répertoire « /root/veeamsnap/build »
dh_dkms -V 5.0.0.4318
make[2] : on quitte le répertoire « /root/veeamsnap/build »
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
dh_compress: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_fixperms
   dh_missing
dh_missing: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_installdeb
dh_installdeb: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_gencontrol
dpkg-gencontrol: avertissement: champ Depends du paquet veeamsnap : substitution variable ${shlibs:Depends} used, but is not defined
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'veeamsnap' in '../veeamsnap_5.0.0.4318_all.deb'.
make[1] : on quitte le répertoire « /root/veeamsnap/build »
 dpkg-genbuildinfo --build=binary
 dpkg-genchanges --build=binary >../veeamsnap_5.0.0.4318_amd64.changes
dpkg-genchanges: info: envoi des binaires seulement (le code source n'est pas inclus)
 dpkg-source --after-build .
dpkg-buildpackage: info: envoi d'un binaire seulement (aucune inclusion de code source)


root@nas:/tmp# apt install ./veeamsnap_5.0.0.4318_all.deb
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Note : sélection de « veeamsnap » au lieu de « ./veeamsnap_5.0.0.4318_all.deb »
veeamsnap est déjà la version la plus récente (5.0.0.4318).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
1 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Paramétrage de veeamsnap (5.0.0.4318) ...
Removing old veeamsnap-5.0.0.4318 DKMS files...

------------------------------
Deleting module version: 5.0.0.4318
completely from the DKMS tree.
------------------------------
Done.
Loading new veeamsnap-5.0.0.4318 DKMS files...
Building for 5.10.0-0.bpo.8-amd64
Building initial module for 5.10.0-0.bpo.8-amd64
Error! Bad return status for module build on kernel: 5.10.0-0.bpo.8-amd64 (x86_64)
Consult /var/lib/dkms/veeamsnap/5.0.0.4318/build/make.log for more information.
dpkg: erreur de traitement du paquet veeamsnap (--configure) :
 installed veeamsnap package post-installation script subprocess returned error exit status 10
Des erreurs ont été rencontrées pendant l'exécution :
 veeamsnap
E: Sub-process /usr/bin/dpkg returned an error code (1)


root@nas:/tmp# cat /var/lib/dkms/veeamsnap/5.0.0.4318/build/make.log
DKMS make.log for veeamsnap-5.0.0.4318 for kernel 5.10.0-0.bpo.8-amd64 (x86_64)
lundi 4 octobre 2021, 19:24:12 (UTC+0200)
make : on entre dans le répertoire « /usr/src/linux-headers-5.10.0-0.bpo.8-amd64 »
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/log.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/mem_alloc.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/sparse_bitmap.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/container.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/container_spinlocking.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/queue_spinlocking.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/bitmap_sync.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/page_array.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/rangelist.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/rangelist_ex.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/rangevector.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_util.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_direct.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_redirect.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_deferred.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_storage.o
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.h:7,
                 from /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.c:4:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function); did you mean ‘BLK_MQ_S_STOPPED’?
         (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
          ^~~~~~~~~~~~~~~~~~~~~~
          BLK_MQ_S_STOPPED
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function); did you mean ‘WBYTE_ADDR’?
         (BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
                                                                          ^~~~~~~~~~~
                                                                          WBYTE_ADDR
make[2]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.o] Error 1
make[2]: *** Attente des tâches non terminées....
make[1]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/Makefile:1845: /var/lib/dkms/veeamsnap/5.0.0.4318/build] Error 2
make: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/Makefile:185: __sub-make] Error 2
make : on quitte le répertoire « /usr/src/linux-headers-5.10.0-0.bpo.8-amd64 »

CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/blk_deferred.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.o
CC [M] /var/lib/dkms/veeamsnap/5.0.0.4318/build/cbt_storage.o
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.h:7,
from /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.c:4:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h: In function ‘tracker_disk_get_original_make_request’:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: error: ‘BLK_MQ_SUBMIT_BIO_ADDR’ undeclared (first use in this function); did you mean ‘BLK_MQ_S_STOPPED’?
(BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
^~~~~~~~~~~~~~~~~~~~~~
BLK_MQ_S_STOPPED
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/veeamsnap/5.0.0.4318/build/tracker_queue.h:70:74: error: ‘PRINTK_ADDR’ undeclared (first use in this function); did you mean ‘WBYTE_ADDR’?
(BLK_MQ_SUBMIT_BIO_ADDR + (long long)(((void *)printk) - (void *)PRINTK_ADDR));
^~~~~~~~~~~
WBYTE_ADDR
make[2]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/defer_io.o] Error 1
make[2]: *** Attente des tâches non terminées....
make[1]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/Makefile:1845: /var/lib/dkms/veeamsnap/5.0.0.4318/build] Error 2
make: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/Makefile:185: __sub-make] Error 2
make : on quitte le répertoire « /usr/src/linux-headers-5.10.0-0.bpo.8-amd64 »

Didn't work genconfig.sh . System.map was not processed.
Check the attributes for execution for genconfig.sh, or change "PRE_BUILD="genconfig.sh ${kernelver}"" -> PRE_BUILD="chmod +x genconfig.sh; genconfig.sh ${kernelver}" in debian\source\veeamsnap.dkms .

Hi @mike2307.
Check, please, experimental branch with the latest commit. It's should work on Fedora 34 with kernel 5.14.9.

Thanks @CodeImp but there's still an issue :
chmod +x done manually and added in genconfig.sh
make clean && make clean all

root@nas:~/veeamsnap/source# make VERSION_MAJOR=5 VERSION_MINOR=0 VERSION_REV=0 VERSION_BUILD=4318 dkms-deb-pkg
mkdir -p ../build/src
chmod 0666 ../build/debian/control
chmod 0766 ../build/debian/rules
chmod 0766 ../build/src/genconfig.sh
sed -i '0,/FILEVER_MAJOR [0-9]\+/s/FILEVER_MAJOR [0-9]\+/FILEVER_MAJOR 5/g' ../build/src/version.h
sed -i '0,/FILEVER_MINOR [0-9]\+/s/FILEVER_MINOR [0-9]\+/FILEVER_MINOR 0/g' ../build/src/version.h
sed -i '0,/FILEVER_REVISION [0-9]\+/s/FILEVER_REVISION [0-9]\+/FILEVER_REVISION 0/g' ../build/src/version.h
sed -i '0,/FILEVER_BUILD [0-9]\+/s/FILEVER_BUILD [0-9]\+/FILEVER_BUILD 4318/g' ../build/src/version.h
find ../build -type f -exec sed -i 's/#PACKAGE_VERSION#/5.0.0.4318/g' {} +
cd ../build && dpkg-buildpackage -us -uc -b
dpkg-buildpackage: info: paquet source veeamsnap
dpkg-buildpackage: info: version source 5.0.0.4318
dpkg-buildpackage: info: distribution source unstable
dpkg-buildpackage: info: source changé par Veeam Software Group GmbH <https://www.veeam.com/contacts.html>
dpkg-buildpackage: info: architecture hôte amd64
 dpkg-source --before-build .
 debian/rules clean
make[1] : on entre dans le répertoire « /root/veeamsnap/build »
dh clean --with dkms
dh: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_clean
dh_clean: Compatibility levels before 9 are deprecated (level 8 in use)
make[1] : on quitte le répertoire « /root/veeamsnap/build »
 debian/rules build
make[1] : on entre dans le répertoire « /root/veeamsnap/build »
dh build --with dkms
dh: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_update_autotools_config
make[1] : on quitte le répertoire « /root/veeamsnap/build »
 debian/rules binary
make[1] : on entre dans le répertoire « /root/veeamsnap/build »
dh binary --with dkms
dh: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_testroot
   dh_prep
   debian/rules override_dh_install
make[2] : on entre dans le répertoire « /root/veeamsnap/build »
dh_install src/* usr/src/veeamsnap-5.0.0.4318/
dh_install: Compatibility levels before 9 are deprecated (level 8 in use)
make[2] : on quitte le répertoire « /root/veeamsnap/build »
   dh_installdocs
dh_installdocs: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_installchangelogs
   debian/rules override_dh_dkms
make[2] : on entre dans le répertoire « /root/veeamsnap/build »
dh_dkms -V 5.0.0.4318
make[2] : on quitte le répertoire « /root/veeamsnap/build »
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
dh_compress: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_fixperms
   dh_missing
dh_missing: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_installdeb
dh_installdeb: Compatibility levels before 9 are deprecated (level 8 in use)
   dh_gencontrol
dpkg-gencontrol: avertissement: champ Depends du paquet veeamsnap : substitution variable ${shlibs:Depends} used, but is not defined
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'veeamsnap' in '../veeamsnap_5.0.0.4318_all.deb'.
make[1] : on quitte le répertoire « /root/veeamsnap/build »
 dpkg-genbuildinfo --build=binary
 dpkg-genchanges --build=binary >../veeamsnap_5.0.0.4318_amd64.changes
dpkg-genchanges: info: envoi des binaires seulement (le code source n'est pas inclus)
 dpkg-source --after-build .
dpkg-buildpackage: info: envoi d'un binaire seulement (aucune inclusion de code source)



root@nas:~/veeamsnap/source# apt install ../veeamsnap_5.0.0.4318_all.deb
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Note : sélection de « veeamsnap » au lieu de « ../veeamsnap_5.0.0.4318_all.deb »
Les NOUVEAUX paquets suivants seront installés :
  veeamsnap
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/84,3 ko dans les archives.
Après cette opération, 626 ko d'espace disque supplémentaires seront utilisés.
Réception de :1 /root/veeamsnap/veeamsnap_5.0.0.4318_all.deb veeamsnap all 5.0.0.4318 [84,3 kB]
Sélection du paquet veeamsnap précédemment désélectionné.
(Lecture de la base de données... 129314 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../veeamsnap_5.0.0.4318_all.deb ...
Dépaquetage de veeamsnap (5.0.0.4318) ...
Paramétrage de veeamsnap (5.0.0.4318) ...
Loading new veeamsnap-5.0.0.4318 DKMS files...
Building for 5.10.0-0.bpo.8-amd64
Building initial module for 5.10.0-0.bpo.8-amd64
Warning: The pre_build script is not executable.
Error! Bad return status for module build on kernel: 5.10.0-0.bpo.8-amd64 (x86_64)
Consult /var/lib/dkms/veeamsnap/5.0.0.4318/build/make.log for more information.
dpkg: erreur de traitement du paquet veeamsnap (--configure) :
 installed veeamsnap package post-installation script subprocess returned error exit status 10
Des erreurs ont été rencontrées pendant l'exécution :
 veeamsnap
N: Le téléchargement est effectué en dehors du bac à sable en tant que « root » car le fichier « /root/veeamsnap/veeamsnap_5.0.0.4318_all.deb » n'est pas accessible par l'utilisateur « _apt ». - pkgAcquire::Run (13: Permission non accordée)
E: Sub-process /usr/bin/dpkg returned an error code (1)



root@nas:~/veeamsnap/source# cat /var/lib/dkms/veeamsnap/5.0.0.4318/build/make.log
DKMS make.log for veeamsnap-5.0.0.4318 for kernel 5.10.0-0.bpo.8-amd64 (x86_64)
mardi 5 octobre 2021, 20:27:54 (UTC+0200)
make : on entre dans le répertoire « /usr/src/linux-headers-5.10.0-0.bpo.8-amd64 »
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/log.o
  CC [M]  /var/lib/dkms/veeamsnap/5.0.0.4318/build/mem_alloc.o
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/log.c:3:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/stdafx.h:9:10: fatal error: config.h: Aucun fichier ou dossier de ce type
 #include "config.h"
          ^~~~~~~~~~
In file included from /var/lib/dkms/veeamsnap/5.0.0.4318/build/mem_alloc.c:3:
/var/lib/dkms/veeamsnap/5.0.0.4318/build/stdafx.h:9:10: fatal error: config.h: Aucun fichier ou dossier de ce type
 #include "config.h"
          ^~~~~~~~~~
compilation terminated.
compilation terminated.
make[2]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/log.o] Error 1
make[2]: *** Attente des tâches non terminées....
make[2]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/scripts/Makefile.build:284: /var/lib/dkms/veeamsnap/5.0.0.4318/build/mem_alloc.o] Error 1
make[1]: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/Makefile:1845: /var/lib/dkms/veeamsnap/5.0.0.4318/build] Error 2
make: *** [/usr/src/linux-headers-5.10.0-0.bpo.8-common/Makefile:185: __sub-make] Error 2
make : on quitte le répertoire « /usr/src/linux-headers-5.10.0-0.bpo.8-amd64 »

Hi @Shadok.
I repeated the package build on Debian 10 for kernel 5.10 from the backports repository.
Strange, but I have genconfig.sh worked. I found config.h in /var/lib/dkms/veeamsnap/5.0.0.4318/build/ .
Obviously, the pre_build script is not working for you.

Warning: The pre_build script is not executable

Also, I don't see the errors that you have.

dh: Compatibility levels before 9 are deprecated (level 8 in use)

It is possible that when extracting and copying the sources, the ends of the lines in the script became incorrect (\r\n instead \n). Check it, and try "./genconfig.sh $(uname -r)".
Or something new with dkms package. I have dkms 2.6.

And the cherry on this cake will be that Debian 11 refused to supply the System.map file in linux-image- package.
Look at /boot/System.map-5.10.0-*. A real system.map can be found in linux-image--dbg package. It's ~+7GB, it's a pain, I know, I'm working on it.

Hi @mike2307.
Check, please, experimental branch with the latest commit. It's should work on Fedora 34 with kernel 5.14.9.

@CodeImp
Confirmed to be working on Fedora with kernel 5.14.9-200.fc34.x86_64

Can also confirm experimental branch works with Fedora 34 (Kernel 5.14.9-200.fc34.x86_64)

@CodeImp
I had my business machine locked to kernel 5.7.17-200.fc32.x86_64 because of the veeamsnap issues until now.
So I tried to update to the latest veeamsnap experimental version and the latest kernel but there seems to be a serious issue when there are LUKS partitions present.

The whole system freezes at the "Creating volume snapshot" phase.
Likely this issue didn't come with the latest changes but is an issue with the experimental branch in general.

@CodeImp
I can confirm it is working on openSUSE Tumbleweed (Linux PRAETS 5.14.6-2-default #1 SMP Mon Sep 20 07:02:13 UTC 2021 (6131a3c) x86_64 x86_64 x86_64 GNU/Linux)

Release 5.0.1.
https://forums.veeam.com/veeam-agents-for-linux-mac-aix-solaris-f41/veeam-agent-for-linux-t39579.html
The code from master was merged into the experimental branch. Kernel 5.14 support has been retained.

@mike2307

Likely this issue didn't come with the latest changes but is an issue with the experimental branch in general.

As of today, the differences between the master and experimental branches are minimal.
If you have a problem with LUKS, it is better to contact with support. Or describe the problem on the forum.

commented

Thanks @CodeImp for your work!

But seems it's not working on Debian 11 (Linux debian11 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux).
I am not sure if this issue is fine or if #25 would be better to post in.

I updated veeam(snap) to 5.0.1.4493, but running a job fails:

root@debian11:~# apt-cache policy veeam* | grep -B 1 -A 1 Installed
veeamsnap:
  Installed: 5.0.1.4493
  Candidate: 5.0.1.4493
--
veeam:
  Installed: 5.0.1.4493
  Candidate: 5.0.1.4493
--
19:18:37         Job daily started at 2021-10-07 17:18:37 UTC
19:18:37         Preparing to backup
19:18:37         [error] Failed to create volume snapshot                                                                                                                                                              
19:18:38         [error] Failed to take volume snapshot
19:18:38         [error] Failed to perform backup
19:18:38         [error] System.map file not found
19:18:38         [error] Cannot specify kernel entries
19:18:38         [error] Processing finished with errors at 2021-10-07 17:18:38 UTC

DKMS module is built and installed:

root@debian11:~# dkms status
veeamsnap, 5.0.1.4493, 5.10.0-8-amd64, x86_64: installed

Logs of veeamsvc.log in /var/log/veeam return following:

veeamsvc.log: ``` [07.10.2021 19:18:33.355] <139767563941632> | Thread started. Role: 'Client processor thread', thread id: 139767563941632, parent id: 139768323970816. [07.10.2021 19:18:33.355] <139767563941632> net | Client connected... [07.10.2021 19:18:33.355] <139767555548928> | Thread started. Role: 'peer local sock peer for user 0', thread id: 139767555548928, parent id: 139767563941632. [07.10.2021 19:18:33.355] <139767563941632> | Thread finished. Role: 'Client processor thread'. [07.10.2021 19:18:33.362] <139767916238592> | Thread started. Role: 'Client processor thread', thread id: 139767916238592, parent id: 139768323970816. [07.10.2021 19:18:33.362] <139767916238592> net | Client connected... [07.10.2021 19:18:33.362] <139767555548928> lpbcore| Unregister client: {00000000-0000-0000-0000-000000000000}. [07.10.2021 19:18:33.362] <139767555548928> | Thread finished. Role: 'peer local sock peer for user 0'. [07.10.2021 19:18:33.362] <139767563941632> | Thread started. Role: 'peer local sock peer for user 0', thread id: 139767563941632, parent id: 139767916238592. [07.10.2021 19:18:33.362] <139767916238592> | Thread finished. Role: 'Client processor thread'. [07.10.2021 19:18:33.363] <139767563941632> lpbcore| Register new client: {be604d2d-f711-457a-8b25-8e452ae6f6b4}. [07.10.2021 19:18:37.019] <139767563941632> lpbcore| Starting job. [07.10.2021 19:18:37.019] <139767563941632> lpbcore| Job UUID: [{849671f6-765b-474c-b097-0dbcf01cf6a5}]. [07.10.2021 19:18:37.019] <139767563941632> lpbcore| Is retriable? [false]. [07.10.2021 19:18:37.019] <139767563941632> lpbcore| Is scheduled? [false]. [07.10.2021 19:18:37.019] <139767563941632> lpbcore| Lock job {849671f6-765b-474c-b097-0dbcf01cf6a5}. [07.10.2021 19:18:37.019] <139767555548928> | Thread started. Role: 'backup job retry handler', thread id: 139767555548928, parent id: 139767563941632. [07.10.2021 19:18:37.019] <139767555548928> lpbcore| Register new client: {be604d2d-f711-457a-8b25-8e452ae6f6b4}. [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Performing job with retries: [false] (Because this run is retriable: [false] and Job options isRetriable: [true]) [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Job execution service: starting worker (manager) process. [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Session type: [Backup job]. [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Job UUID: [{849671f6-765b-474c-b097-0dbcf01cf6a5}]. [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Optional: [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Session UUID: [{00000000-0000-0000-0000-000000000000}]. [07.10.2021 19:18:37.020] <139767555548928> lpbcore| Job name: []. [07.10.2021 19:18:37.021] <139767555548928> lpbcore| Starting manager process. Session UUID: [{1c80adf4-0b8c-4430-a9a2-22db12284c0e}]. Logs path: [/var/log/veeam/Backup/daily/Session_20211007_191837_{1c80adf4-0b8c-4430-a9a2-22db12284c0e}/Job.log] [07.10.2021 19:18:37.022] <139767555548928> lpbcore| JobMan has started. PID: [45831]. [07.10.2021 19:18:37.022] <139767555548928> lpbcore| Manager started with PID [45831]. Waiting connection. [07.10.2021 19:18:37.022] <139767924631296> | Thread started. Role: 'Manager process [45831] shutdown handler.', thread id: 139767924631296, parent id: 139767555548928. [07.10.2021 19:18:37.197] <139768311891712> | Thread started. Role: 'Client processor thread', thread id: 139768311891712, parent id: 139768323970816. [07.10.2021 19:18:37.198] <139768311891712> net | Client connected... [07.10.2021 19:18:37.198] <139767916238592> | Thread started. Role: 'peer local sock peer for user 0', thread id: 139767916238592, parent id: 139768311891712. [07.10.2021 19:18:37.198] <139768311891712> | Thread finished. Role: 'Client processor thread'. [07.10.2021 19:18:37.205] <139767966594816> | Thread started. Role: 'Client processor thread', thread id: 139767966594816, parent id: 139768323970816. [07.10.2021 19:18:37.205] <139767966594816> net | Client connected... [07.10.2021 19:18:37.205] <139767916238592> lpbcore| Unregister client: {00000000-0000-0000-0000-000000000000}. [07.10.2021 19:18:37.205] <139767916238592> | Thread finished. Role: 'peer local sock peer for user 0'. [07.10.2021 19:18:37.205] <139768311891712> | Thread started. Role: 'peer local sock peer for user 0', thread id: 139768311891712, parent id: 139767966594816. [07.10.2021 19:18:37.205] <139767966594816> | Thread finished. Role: 'Client processor thread'. [07.10.2021 19:18:37.208] <139767916238592> | Thread started. Role: 'Client processor thread', thread id: 139767916238592, parent id: 139768323970816. [07.10.2021 19:18:37.208] <139767916238592> net | Client connected... [07.10.2021 19:18:37.209] <139767555548928> vmb | [SessionLog][info] Job daily started at 2021-10-07 17:18:37 UTC. [07.10.2021 19:18:37.209] <139767916238592> | Thread finished. Role: 'Client processor thread'. [07.10.2021 19:18:37.212] <139767555548928> lpbcore| Sending command [StartBackupJob] to manager with PID [45831]. Job ID: [{849671f6-765b-474c-b097-0dbcf01cf6a5}]. Job priority: [300]; Is active full: [false]. Is snapshot forcibly disabled? [false] [07.10.2021 19:18:37.212] <139767563941632> lpbcore| Starting job. ok. [07.10.2021 19:18:37.212] <139767563941632> lpbcore| CJobExecutionServiceStub::StartBackup.UUID=[{849671f6-765b-474c-b097-0dbcf01cf6a5}]. [07.10.2021 19:18:37.254] <139768311891712> lpbcore| Mounting share repository by UUID [{af7a1e83-4c3e-4aaf-a743-067c5db7682d}]. [07.10.2021 19:18:37.254] <139768311891712> lpbcomm| Executing custom script: [mount]. Arguments: [-t cifs -o *** //u188981.your-storagebox.de/u188981-sub1/veeam/114-kthx-mailcow /tmp/veeam/u188981.your-storagebox.deu188981-sub1veeam114-kthx-mailcow] [07.10.2021 19:18:37.255] <139768311891712> lpbcomm| Wait child process for finish. [07.10.2021 19:18:37.255] <139767941416704> | Thread started. Role: 'script output redirector to log', thread id: 139767941416704, parent id: 139768311891712. [07.10.2021 19:18:37.255] <139767966594816> | Thread started. Role: 'script output redirector to buffer', thread id: 139767966594816, parent id: 139768311891712. [07.10.2021 19:18:37.526] <139767966594816> | Thread finished. Role: 'script output redirector to buffer'. [07.10.2021 19:18:37.526] <139767941416704> | Thread finished. Role: 'script output redirector to log'. [07.10.2021 19:18:37.526] <139768311891712> lpbcore| Mounting share repository by UUID [{af7a1e83-4c3e-4aaf-a743-067c5db7682d}]. ok. [07.10.2021 19:18:37.869] <139767966594816> | Thread started. Role: 'snapshot operation', thread id: 139767966594816, parent id: 139768311891712. [07.10.2021 19:18:37.870] <139767966594816> lpbcore| Requesting generic snapshot for [/dev/dm-0] [07.10.2021 19:18:37.870] <139767966594816> lpbcore| Requesting generic snapshot for [/dev/sdb1] [07.10.2021 19:18:37.870] <139767966594816> lpbcore| Requesting generic snapshot for [/dev/sdb2] [07.10.2021 19:18:37.870] <139767966594816> lpbcore| Snapshot service: request snapshots. [07.10.2021 19:18:37.870] <139767966594816> lpbcore| Parsing config with user defined lvm snapshot sizes. [07.10.2021 19:18:37.870] <139767966594816> lpbcomm| Executing custom script: [vgdisplay]. Arguments: [--columns --noheadings --units B --options vg_name,vg_size,vg_free,vg_extent_size] [07.10.2021 19:18:37.870] <139767966594816> lpbcomm| Interactive mode is set. [07.10.2021 19:18:37.870] <139767966594816> lpbcomm| Create PIPE interaction. [07.10.2021 19:18:37.870] <139767966594816> lpbcomm| Wait child process for finish. [07.10.2021 19:18:37.870] <139767547156224> | Thread started. Role: 'pipe interaction', thread id: 139767547156224, parent id: 139767966594816. [07.10.2021 19:18:37.870] <139767941416704> | Thread started. Role: 'script output redirector to buffer', thread id: 139767941416704, parent id: 139767966594816. [07.10.2021 19:18:37.936] <139767941416704> | Thread finished. Role: 'script output redirector to buffer'. [07.10.2021 19:18:37.936] <139767547156224> | Thread finished. Role: 'pipe interaction'. [07.10.2021 19:18:37.936] <139767966594816> lvm | vgdisplay output: [07.10.2021 19:18:37.936] <139767966594816> lpbdeve| Enumerating all block devices... [07.10.2021 19:18:37.936] <139767966594816> lpbdeve| Ignored devices mask: []. [07.10.2021 19:18:37.936] <139767966594816> lpbdeve| Skip filtering: [false]. [07.10.2021 19:18:37.936] <139767966594816> lpbdeve| Collect empty disks: [false]. [07.10.2021 19:18:37.936] <139767966594816> lpbdeve| Verbose logging: [false]. [07.10.2021 19:18:38.031] <139767966594816> lpbdeve| ERR |Failed to create DeviceInfoEx for device [/dev/sr0]. [07.10.2021 19:18:38.031] <139767966594816> lpbdeve| >> |No medium found [07.10.2021 19:18:38.031] <139767966594816> lpbdeve| >> |Failed to probe device [/dev/sr0]. [07.10.2021 19:18:38.031] <139767966594816> lpbdeve| >> |--tr:CRealBlkidAccessor: Failed to probe device [/dev/sr0]. [07.10.2021 19:18:38.031] <139767966594816> lpbdeve| >> |--tr:in virtual lpbdevenumlib::blkid::IBlkidProbe::Ptr lpbdevenumlib::accessor::CRealBlkidAccessor::ProbeDevice(const astr&) const at /mnt/Sources/LpbDevEnumLib/lpbdevenumlib/accessor/impl/RealBlkidAccessor.cpp:38 [07.10.2021 19:18:38.031] <139767966594816> lpbdeve| >> |An exception was thrown from thread [139767966594816]. [07.10.2021 19:18:38.035] <139767966594816> dsk | I/O statistics for '/dev/sda': 17408 bytes read unaligned (3 requests) [07.10.2021 19:18:38.036] <139767966594816> dsk | I/O statistics for '/dev/sdb': 17408 bytes read unaligned (3 requests) [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| WARN|Device [/dev/sdb3] (8:19) is hold dm-device [/dev/dm-0] and WILL BE SKIPPED. Dm-device [/dev/dm-0] (254:0) will processed as single volume. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| WARN|Device [/dev/sda1] (8:1) is hold dm-device [/dev/dm-1] and WILL BE SKIPPED. Dm-device [/dev/dm-1] (254:1) will processed as single volume. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| WARN|All partitions of disk [/dev/sda] (8:0) are skipped. Disk WILL SKIPPED. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Found device: [/dev/sdb]. Device number: [8:16]; Type: [scsi]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Size: [34359738368] bytes (32.00G). [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/sdb]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/block/8:16]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-path/pci-0000:01:01.0-scsi-0:0:0:0]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Partition table type: [gpt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Partitions count: 2 [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Found device: [/dev/sdb1]. Device number: [8:17]; Type: [scsi]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Index: [1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Offset: [1048576]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Size: [499122176] bytes (476.0M). [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/sdb1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/block/8:17]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-uuid/DDE6-F089]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-partuuid/6ddd05d4-ac30-40d3-b3dc-bc942d946dc5]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-path/pci-0000:01:01.0-scsi-0:0:0:0-part1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Filesystem UUID: [DDE6-F089]; Type: [vfat]; Mount points: [/boot/efi]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Found device: [/dev/sdb2]. Device number: [8:18]; Type: [scsi]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Index: [2]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Offset: [500170752]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Size: [500170752] bytes (477.0M). [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/sdb2]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/block/8:18]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-uuid/bab611da-79d6-4e12-bac0-39e178d57ba6]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-partuuid/fa417129-a583-42c9-97aa-c28182fb454a]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-path/pci-0000:01:01.0-scsi-0:0:0:0-part2]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Filesystem UUID: [bab611da-79d6-4e12-bac0-39e178d57ba6]; Type: [ext4]; Mount points: [/boot]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Found device: [/dev/dm-0]. Device number: [254:0]; Type: [dm]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Dm name: [sda3_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Dm UUID: [CRYPT-LUKS2-9a4302e630b54f1e9ad2c3b147474f87-sda3_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Size: [33341571072] bytes (31.05G). [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Slave of: [8:19]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/dm-0]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/mapper/sda3_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/block/254:0]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-uuid/4cd306cf-0f15-49d2-ab94-06d50d878b90]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/dm-uuid-CRYPT-LUKS2-9a4302e630b54f1e9ad2c3b147474f87-sda3_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/dm-name-sda3_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Filesystem UUID: [4cd306cf-0f15-49d2-ab94-06d50d878b90]; Type: [ext4]; Mount points: [/]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Found device: [/dev/dm-1]. Device number: [254:1]; Type: [dm]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Dm name: [sdb1_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Dm UUID: [CRYPT-LUKS1-d4ea992ead1e4c30b59468732468da8d-sdb1_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Size: [2147479453696] bytes (1.95T). [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Slave of: [8:1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/dm-1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/mapper/sdb1_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/block/254:1]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-uuid/c6f395e2-4479-4a7c-a1ea-5b77bab17796]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/dm-uuid-CRYPT-LUKS1-d4ea992ead1e4c30b59468732468da8d-sdb1_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Link: [/dev/disk/by-id/dm-name-sdb1_crypt]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Filesystem UUID: [c6f395e2-4479-4a7c-a1ea-5b77bab17796]; Type: [ext4]; Mount points: [/data]. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| [5] block devices were detected. [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Enumerating LVM devices... [07.10.2021 19:18:38.038] <139767966594816> lpbdeve| Should skip inactive LVs? [true]. [07.10.2021 19:18:38.039] <139767966594816> lvm | Created LVM temporary directory [/tmp/veeam/{78dd6b4d-2fa8-48f5-924e-5e584781b8f5}/]. [07.10.2021 19:18:38.052] <139767966594816> lpbdeve| [0] LVM volume groups were detected. [07.10.2021 19:18:38.052] <139767966594816> lpbdeve| Enumerating BTRFS subvolumes... [07.10.2021 19:18:38.052] <139767966594816> lpbdeve| [0] BTRFS subvolumes were detected. [07.10.2021 19:18:38.052] <139767966594816> lpbcore| WARN|Snapshot storage type by default is stretch. [07.10.2021 19:18:38.052] <139767966594816> vsnap | Obtain module compatibility flags [07.10.2021 19:18:38.052] <139767966594816> vsnap | Veeamsnap compatibility flags: [0x000000000000000d] [07.10.2021 19:18:38.052] <139767966594816> vsnap | Get unspecified kernel entries [07.10.2021 19:18:38.052] <139767966594816> vsnap | blk_mq_submit_bio [07.10.2021 19:18:38.053] <139767966594816> vsnap | Fake system map was found in file [/boot/System.map-5.10.0-8-amd64] [07.10.2021 19:18:38.053] <139767966594816> lpbcore| Snapshot service: request snapshots. Failed. [07.10.2021 19:18:38.053] <139767966594816> lpbcore| ERR |Snapshot creation operation has failed. [07.10.2021 19:18:38.053] <139767966594816> lpbcore| >> |System.map file not found [07.10.2021 19:18:38.053] <139767966594816> lpbcore| >> |--tr:in void veeamsnap::SpecifyKernelEntries(const std::set >&, std::__cxx11::list&) at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/KernelEntry.cpp:60 [07.10.2021 19:18:38.053] <139767966594816> lpbcore| >> |Cannot specify kernel entries [07.10.2021 19:18:38.053] <139767966594816> lpbcore| >> |--tr:in void veeamsnap::CVeeamSnapIo::OpenCtrl() at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/VeeamSnapIo.cpp:196 [07.10.2021 19:18:38.053] <139767966594816> lpbcore| >> |An exception was thrown from thread [139767966594816]. [07.10.2021 19:18:38.053] <139767966594816> | Thread finished. Role: 'snapshot operation'. [07.10.2021 19:18:38.170] <139768311891712> prtcl | ERR |System.map file not found [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |--tr:in void veeamsnap::SpecifyKernelEntries(const std::set >&, std::__cxx11::list&) at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/KernelEntry.cpp:60 [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |Cannot specify kernel entries [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |--tr:in void veeamsnap::CVeeamSnapIo::OpenCtrl() at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/VeeamSnapIo.cpp:196 [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |--tr:Failed to finish snapshot creation process. [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |--tr:in virtual lpbcorelib::interaction::ISnapshotResourceLockPtr lpbcorelib::service::CSnapshotOperation::EndCreateSnapshot(lpbcorelib::service::CSnapshotTask::Ptr&) at /mnt/Sources/LPBCoreLib/lpbcorelib/service/SnapshotOperation.cpp:33 [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |--tr:Failed to execute method [1] for class [lpbcorelib::interaction::ISnapshotOperation]. [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |--tr:in void remoting::CStubBase::ExecuteMethod(remoting::method_id_t, remoting::IStub::SDispatchContext&) const [with TStub = lpbcorelib::interaction::proxystub::CSnapshotOperationStub; TObject = lpbcorelib::interaction::ISnapshotOperation; remoting::method_id_t = unsigned int] at /mnt/Sources/LPBCoreLib/lpbcorelib/interaction/proxystub/../../../../ProtocolLib/remoting/StubBase.h:78 [07.10.2021 19:18:38.171] <139768311891712> prtcl | >> |An exception was thrown from thread [139767966594816]. [07.10.2021 19:18:38.186] <139768311891712> lpbcomm| Executing custom script: [umount]. Arguments: [-l /tmp/veeam/u188981.your-storagebox.deu188981-sub1veeam114-kthx-mailcow] [07.10.2021 19:18:38.186] <139768311891712> lpbcomm| Wait child process for finish. [07.10.2021 19:18:38.187] <139767941416704> | Thread started. Role: 'script output redirector to log', thread id: 139767941416704, parent id: 139768311891712. [07.10.2021 19:18:38.187] <139767966594816> | Thread started. Role: 'script output redirector to buffer', thread id: 139767966594816, parent id: 139768311891712. [07.10.2021 19:18:38.192] <139767941416704> | Thread finished. Role: 'script output redirector to log'. [07.10.2021 19:18:38.192] <139767966594816> | Thread finished. Role: 'script output redirector to buffer'. [07.10.2021 19:18:38.192] <139768311891712> lpbcore| Unregister client: {00000000-0000-0000-0000-000000000000}. [07.10.2021 19:18:38.193] <139768311891712> | Thread finished. Role: 'peer local sock peer for user 0'. [07.10.2021 19:18:38.195] <139767924631296> lpbcore| Manager process [45831] has been shutdown. [07.10.2021 19:18:38.195] <139767924631296> | Thread finished. Role: 'Manager process [45831] shutdown handler.'. [07.10.2021 19:18:38.195] <139767958202112> lpbcore| Cleaning up resources for job process [45831]. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| ERR |Backup job has failed. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |System.map file not found [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:in void veeamsnap::SpecifyKernelEntries(const std::set >&, std::__cxx11::list&) at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/KernelEntry.cpp:60 [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |Cannot specify kernel entries [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:in void veeamsnap::CVeeamSnapIo::OpenCtrl() at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/VeeamSnapIo.cpp:196 [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:Failed to finish snapshot creation process. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:in virtual lpbcorelib::interaction::ISnapshotResourceLockPtr lpbcorelib::service::CSnapshotOperation::EndCreateSnapshot(lpbcorelib::service::CSnapshotTask::Ptr&) at /mnt/Sources/LPBCoreLib/lpbcorelib/service/SnapshotOperation.cpp:33 [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:Failed to execute method [1] for class [lpbcorelib::interaction::ISnapshotOperation]. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:in void remoting::CStubBase::ExecuteMethod(remoting::method_id_t, remoting::IStub::SDispatchContext&) const [with TStub = lpbcorelib::interaction::proxystub::CSnapshotOperationStub; TObject = lpbcorelib::interaction::ISnapshotOperation; remoting::method_id_t = unsigned int] at /mnt/Sources/LPBCoreLib/lpbcorelib/interaction/proxystub/../../../../ProtocolLib/remoting/StubBase.h:78 [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:Failed to take volume snapshot. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:in static lpbcorelib::interaction::ISnapshotResourceLockPtr lpbcorelib::backup::CSnapshotHelper::TakeSnapshot(vmbplatform::model::CBackupJobPtr, const std::__cxx11::list >&, const object_id_t&, vmbplatform::model::CSessionLoggerPtr, lpbcorelib::backup::CCbtDataContainer&) at /mnt/Sources/LPBCoreLib/lpbcorelib/backup/snapshot/SnapshotHelper.cpp:126 [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |Backup job has failed. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |--tr:in virtual void lpbcorelib::backup::CBackupJobPerformer::execute() at /mnt/Sources/LPBCoreLib/lpbcorelib/backup/BackupJobPerformer.cpp:158 [07.10.2021 19:18:38.195] <139767555548928> lpbcore| >> |An exception was thrown from thread [139768311891712]. [07.10.2021 19:18:38.195] <139767555548928> lpbcore| WARN|Job has failed. [0] attempts left. [07.10.2021 19:18:38.196] <139767555548928> lpbcore| Job can not be retried. All attempts were made. [07.10.2021 19:18:38.196] <139767555548928> | Thread finished. Role: 'backup job retry handler'. [07.10.2021 19:21:53.494] <139767563941632> lpbcore| Unregister client: {be604d2d-f711-457a-8b25-8e452ae6f6b4}. [07.10.2021 19:21:53.494] <139767563941632> | Thread finished. Role: 'peer local sock peer for user 0'. ```

@mike2307

Likely this issue didn't come with the latest changes but is an issue with the experimental branch in general.

As of today, the differences between the master and experimental branches are minimal. If you have a problem with LUKS, it is better to contact with support. Or describe the problem on the forum.

OS: Fedora 34

As a test I ran a dnf update to get the latest 5.0.1 veeamsnap, I then ran a make uninstall to remove the experimental branch from my system.

After which I started a backup manually and the following error displayed as it did before with 5.0.0 and no experimental branch installed:

[error] Child execution has failed. Exit code: [1]                                                                                                                     
[error] Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0 snapstore_block_size_pow=14 change_tracking_block_size_pow...

You may want to try again with removal and re-install of veeamsnap package (or rebuild via DKMS) as your order of operations may have deleted the veeamsnap module after the package upgraded it (ideally you'd "make uninstall" prior to "dnf update"). I'm not 100% sure this is the issue, but as Fedora 34 is supported with 5.0.1 your behavior is unexpected.

You may want to try again with removal and re-install of veeamsnap package (or rebuild via DKMS) as your order of operations may have deleted the veeamsnap module after the package upgraded it (ideally you'd "make uninstall" prior to "dnf update"). I'm not 100% sure this is the issue, but as Fedora 34 is supported with 5.0.1 your behavior is unexpected.

Thanks for the info just to confirm this I did the following:

make uninstall
dnf erase veeam
make uninstall second run to ensure it was gone
Then finally a dnf install veeamand configured the backup job as before.

Unfortunately this also gave the same error as before. This seems to suggest the update hasn't actually provided the fix as intended. Unless I am missing any steps, and if I am do let me know!

@HNGamingUK:
According to the release notes README.md on master the new version 5.0.1 only supports kernels up to 5.13. Fedora 34 uses kernel 5.14.x already as of now. As far as I can interpret this, the experimental branch is needed for 5.14.

Regarding the LUKS issue on my business machine, I'll do further investigations tomorrow. I'll try with a 5.13 kernel in combination with the released version 5.0.1 and give feedback again.

@HNGamingUK:
Release notes of version 5.0.1 says:

Fedora is supported up to kernel 5.13.19.

Good point @mike2307, I missed the timing on that.

Release 5.0.1. https://forums.veeam.com/veeam-agents-for-linux-mac-aix-solaris-f41/veeam-agent-for-linux-t39579.html The code from master was merged into the experimental branch. Kernel 5.14 support has been retained.

Ah okay thanks @mike2307 The reply from @CodeImp suggested otherwise unless I am again miss understanding.

@MAGICCC

19:18:37         Job daily started at 2021-10-07 17:18:37 UTC
19:18:37         Preparing to backup
19:18:37         [error] Failed to create volume snapshot                                                                                                                                                              
19:18:38         [error] Failed to take volume snapshot
19:18:38         [error] Failed to perform backup
19:18:38         [error] System.map file not found
19:18:38         [error] Cannot specify kernel entries
19:18:38         [error] Processing finished with errors at 2021-10-07 17:18:38 UTC

As I wrote above 5.10 kernel from Debian, it has a "new feature":
"
And the cherry on this cake will be that Debian 11 refused to supply the System.map file in linux-image-<version> package.
Look at /boot/System.map-5.10.0-*. A real system.map can be found in linux-image-<version>-dbg package.
"
Information about this problem should be in our release notes. Page 8.
"
Version of the following packages varies according to the Linux kernel version that you use:
o linux-headers (for Debian-based systems)
o kernel-headers (for RedHat-based systems)
o kernel-devel (for RedHat-based systems)
o linux-image-<version>-dbg (for Debian 11.0)
where <version> — the Linux kernel version that you use
"
In order not to install the whole -dbg package, it is enough to extract only System.map from it. But you will have to do this after each kernel update. Sorry.
We are working on this problem.

commented

@CodeImp erf thanks, I didnt read that part carefully enough :/ Works now on my Debian 11. Thanks a bunch for the work.

On Arch Linux i had to do:

sudo cp /proc/kallsyms /boot/System.map-`uname -r`

But after that it is working (experimental branch, linux-zen 5.14.9).
Reference:
https://wiki.archlinux.org/title/SystemTap#System.map_is_missing

Thanks @drikqlis, your solution worked on my debian too.

On Arch Linux i had to do:

sudo cp /proc/kallsyms /boot/System.map-`uname -r`

But after that it is working (experimental branch, linux-zen 5.14.9). Reference: https://wiki.archlinux.org/title/SystemTap#System.map_is_missing

Can add/confirm, cp /proc/kallsyms /boot/System.map-$(uname -r) (as root) worked on by Debian 11 installation to fix my System.map file not found error.

Can add/confirm, cp /proc/kallsyms /boot/System.map-$(uname -r) (as root) worked on by Debian 11 installation to fix my System.map file not found error.

I also can confirm that on several Debian 11 machines. Thanks a lot to everyone working on this fix!

Can add/confirm, cp /proc/kallsyms /boot/System.map-$(uname -r) (as root) worked on by Debian 11 installation to fix my System.map file not found error.

I also can confirm that on several Debian 11 machines. Thanks a lot to everyone working on this fix!

On Arch Linux kernel linux-zen 5.15.2 I can no longer build:

/tmp/veeamsnap/source/ctrl_fops.c: In function ‘ioctl_set_kernel_entries’:
/tmp/veeamsnap/source/ctrl_fops.c:350:38: error: ‘printk’ undeclared (first use in this function); did you mean ‘_printk’?
  350 |     symbols_offset = (unsigned long)(printk) - (unsigned long)entries[0].addr;
      |                                      ^~~~~~
      |                                      _printk
/tmp/veeamsnap/source/ctrl_fops.c:350:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [scripts/Makefile.build:277: /tmp/veeamsnap/source/ctrl_fops.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1863: /tmp/veeamsnap/source] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.15.2-zen1-1-zen/build'
make: *** [Makefile:72: default] Error 2

If you replace printk with _printk the module will build and install.
But I can't create a backup on 5.15.2


[23.11.2021 12:58:43.664] <140413411255872> lpbcore| Snapshot service: request snapshots. Failed.
[23.11.2021 12:58:43.664] <140413411255872> lpbcore| ERR |Snapshot creation operation has failed.
[23.11.2021 12:58:43.664] <140413411255872> lpbcore| >>  |Failed to resolve 1 kernel entries
[23.11.2021 12:58:43.664] <140413411255872> lpbcore| >>  |--tr:in void veeamsnap::SpecifyKernelEntries(const std::set<std::__cxx11::basic_string<char> >&, std::__cxx11::list<veeamsnap::SKernelEntry>&) at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/KernelEntry.cpp:112
[23.11.2021 12:58:43.664] <140413411255872> lpbcore| >>  |Cannot specify kernel entries
[23.11.2021 12:58:43.664] <140413411255872> lpbcore| >>  |--tr:in void veeamsnap::CVeeamSnapIo::OpenCtrl() at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/VeeamSnapIo.cpp:196
[23.11.2021 12:58:43.664] <140413411255872> lpbcore| >>  |An exception was thrown from thread [140413411255872].
[23.11.2021 12:58:43.664] <140413411255872>        | Thread finished. Role: 'snapshot operation'.
[23.11.2021 12:58:43.828] <140413016995392> lpbdeve| WARN|Unknown usage type: [unknown].
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | ERR |Failed to resolve 1 kernel entries
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |--tr:in void veeamsnap::SpecifyKernelEntries(const std::set<std::__cxx11::basic_string<char> >&, std::__cxx11::list<veeamsnap::SKernelEntry>&) at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/KernelEntry.cpp:112
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |Cannot specify kernel entries
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |--tr:in void veeamsnap::CVeeamSnapIo::OpenCtrl() at /mnt/Sources/VeeamLPBSnapLib/veeamsnap/VeeamSnapIo.cpp:196
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |--tr:Failed to finish snapshot creation process.
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |--tr:in virtual lpbcorelib::interaction::ISnapshotResourceLockPtr lpbcorelib::service::CSnapshotOperation::EndCreateSnapshot(lpbcorelib::service::CSnapshotTask::Ptr&) at /mnt/Sources/LPBCoreLib/lpbcorelib/service/SnapshotOperation.cpp:33
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |--tr:Failed to execute method [1] for class [lpbcorelib::interaction::ISnapshotOperation].
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |--tr:in void remoting::CStubBase<TStub, TObject>::ExecuteMethod(remoting::method_id_t, remoting::IStub::SDispatchContext&) const [with TStub = lpbcorelib::interaction::proxystub::CSnapshotOperationStub; TObject = lpbcorelib::interaction::ISnapshotOperation; remoting::method_id_t = unsigned int] at /mnt/Sources/LPBCoreLib/lpbcorelib/interaction/proxystub/../../../../ProtocolLib/remoting/StubBase.h:78
[23.11.2021 12:58:43.829] <140413016995392> prtcl  | >>  |An exception was thrown from thread [140413411255872].

Yep.
Kernel 5.15 gave an interesting gift. Who would have thought that printk would cease to be an exported function?
Unfortunately, there are not enough changes in the module. There is a relation with the user-space code.
We'll have to wait for the entire Veeam Agent for Linux to be updated. We are working on it.

Can add/confirm, cp /proc/kallsyms /boot/System.map-$(uname -r) (as root) worked on by Debian 11 installation to fix my System.map file not found error.

(Please note that this is needed even if you are on Debian 10 but running a kernel from backports)

commented

Veeam Agent for Linux 5.0.2 has been officially released.

Kernels up to 5.16 (inclusive) are supported.

The issue is closed, thanks everyone for participating!