Standalone backup agent for Linux servers and workstations on-premises or in the public cloud
mike2307
Novice
Posts: 6
Liked: 1 time
Joined: Mar 26, 2019 10:42 am
Contact:

Linux Kernel 5.0

Post by mike2307 » Mar 26, 2019 10:46 am

Hi there,

I updated my Fedora 29 installation to kernel 5.0.3. The veeamsnap module doesn't compile with this version.
According to my research, the Linux kernel developers changed something related to the block layer and that is causing the issue.
Has anyone tried to figure out how the code needs to be patched to make it working again?

Thanks in advance.

Kind regards,
Michael

P.Tide
Product Manager
Posts: 4989
Liked: 426 times
Joined: May 19, 2015 1:46 pm
Contact:

Re: Linux Kernel 5.0

Post by P.Tide » Mar 26, 2019 3:04 pm

Hi,

According to our tests, the module may fail to compile on kernels that have I/O schedulers other than "deadline" and "cfq". We know for sure that it does not work with "bfq" scheduler at all, while it might work with mq-deadline. Other schedulers (kyber, noop, anticipatory etc) hasn't been tested at all.

Thanks!

rokko74
Novice
Posts: 5
Liked: 4 times
Joined: Sep 12, 2017 7:24 pm
Full Name: Roberto
Contact:

Re: Linux Kernel 5.0

Post by rokko74 » Mar 28, 2019 5:29 am

I confirm the "blk_init_queue" related compilation issue with Fedora 29 kernel 5.0.3-200.fc29.x86_64 update:

Code: Select all

$ cat /var/lib/dkms/veeamsnap/3.0.1.1046/build/make.log
DKMS make.log for veeamsnap-3.0.1.1046 for kernel 5.0.3-200.fc29.x86_64 (x86_64)
gio 28 mar 2019, 06.26.22, CET
make: ingresso nella directory "/usr/src/kernels/5.0.3-200.fc29.x86_64"
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/log.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/mem_alloc.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/sparse_bitmap.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/container.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/container_spinlocking.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/queue_spinlocking.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/bitmap_sync.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/page_array.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/rangelist.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/rangelist_ex.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/rangevector.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/blk_util.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/blk_direct.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/blk_redirect.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/blk_deferred.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/defer_io.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/cbt_map.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/tracker.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/tracker_queue.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.o
  CC [M]  /var/lib/dkms/veeamsnap/3.0.1.1046/build/snapdata_collect.o
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c: In function ‘snapimage_create’:
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:615:28: error: implicit declaration of function ‘blk_init_queue’; did you mean ‘blk_put_queue’? [-Werror=implicit-function-declaration]
             image->queue = blk_init_queue(NULL, NULL);
                            ^~~~~~~~~~~~~~
                            blk_put_queue
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:615:26: warning: assignment to ‘struct request_queue *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
             image->queue = blk_init_queue(NULL, NULL);
                          ^
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:617:26: warning: assignment to ‘struct request_queue *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
             image->queue = blk_init_queue(NULL, &image->queue_lock);
                          ^
In file included from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /var/lib/dkms/veeamsnap/3.0.1.1046/build/stdafx.h:5,
                 from /var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:1:
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c: In function ‘_snapimage_stop’:
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:727:37: error: incompatible type for argument 1 of ‘spinlock_check’
                 spin_lock_irqsave( q->queue_lock, flags );
                                    ~^~~~~~~~~~~~
./include/linux/spinlock.h:241:34: note: in definition of macro ‘raw_spin_lock_irqsave’
   flags = _raw_spin_lock_irqsave(lock); \
                                  ^~~~
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:727:17: note: in expansion of macro ‘spin_lock_irqsave’
                 spin_lock_irqsave( q->queue_lock, flags );
                 ^~~~~~~~~~~~~~~~~
In file included from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /var/lib/dkms/veeamsnap/3.0.1.1046/build/stdafx.h:5,
                 from /var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:1:
./include/linux/spinlock.h:316:67: note: expected ‘spinlock_t *’ {aka ‘struct spinlock *’} but argument is of type ‘spinlock_t’ {aka ‘struct spinlock’}
 static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock)
                                                       ~~~~~~~~~~~~^~~~
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:728:17: error: implicit declaration of function ‘blk_stop_queue’; did you mean ‘blk_sync_queue’? [-Werror=implicit-function-declaration]
                 blk_stop_queue( q );
                 ^~~~~~~~~~~~~~
                 blk_sync_queue
/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:729:42: error: incompatible type for argument 1 of ‘spin_unlock_irqrestore’
                 spin_unlock_irqrestore( q->queue_lock, flags );
                                         ~^~~~~~~~~~~~
In file included from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /var/lib/dkms/veeamsnap/3.0.1.1046/build/stdafx.h:5,
                 from /var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:1:
./include/linux/spinlock.h:382:64: note: expected ‘spinlock_t *’ {aka ‘struct spinlock *’} but argument is of type ‘spinlock_t’ {aka ‘struct spinlock’}
 static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
                                                    ~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:277: /var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.o] Error 1
make[1]: *** Attesa per i processi non terminati....
make: *** [Makefile:1557: _module_/var/lib/dkms/veeamsnap/3.0.1.1046/build] Error 2
make: uscita dalla directory "/usr/src/kernels/5.0.3-200.fc29.x86_64"

mike2307
Novice
Posts: 6
Liked: 1 time
Joined: Mar 26, 2019 10:42 am
Contact:

Re: Linux Kernel 5.0

Post by mike2307 » Apr 10, 2019 11:24 am

Any news regarding this topic?
When can we expect a fix for that?

Kind regards,
Michael

P.Tide
Product Manager
Posts: 4989
Liked: 426 times
Joined: May 19, 2015 1:46 pm
Contact:

Re: Linux Kernel 5.0

Post by P.Tide » Apr 10, 2019 11:28 am 1 person likes this post

Hi,

There exists an unofficial fix, please check this AUR

Thanks!

rokko74
Novice
Posts: 5
Liked: 4 times
Joined: Sep 12, 2017 7:24 pm
Full Name: Roberto
Contact:

Re: Linux Kernel 5.0

Post by rokko74 » Apr 10, 2019 1:36 pm 1 person likes this post

Hi,
thank You very much P.Tide, it seems to work here with these steps:

Code: Select all

wget https://www.github.com/veeam/veeamsnap/archive/experimental.zip
unzip experimental.zip
cd veeamsnap-experimental/source/
make all && make load

gothaggis
Novice
Posts: 9
Liked: 1 time
Joined: Feb 27, 2019 6:58 pm
Full Name: Geoff
Contact:

Re: Linux Kernel 5.0

Post by gothaggis » Apr 11, 2019 6:56 pm

on a physical box I was testing, I was getting the compile errors with kernel 5.0.

I decided to test on a vm, using kernel 5.0.7 (specifically I'm using kernel-ml from elrepo.org) and the latest Veeam agent (March 26th) - and I'm not getting compile errors and the agent works. I'm not sure if this is due to something with vm, or maybe 5.0.7 fixes it? Can anyone else confirm?

P.Tide
Product Manager
Posts: 4989
Liked: 426 times
Joined: May 19, 2015 1:46 pm
Contact:

Re: Linux Kernel 5.0

Post by P.Tide » Apr 11, 2019 7:09 pm

Hi,

Would you kindly provide more info on the errors you are getting, and the exact kernel versions?

Thanks!

gothaggis
Novice
Posts: 9
Liked: 1 time
Joined: Feb 27, 2019 6:58 pm
Full Name: Geoff
Contact:

Re: Linux Kernel 5.0

Post by gothaggis » Apr 12, 2019 12:43 pm

The kernel version was 5.0.1 - I don't recall the exact errors, but they were all veeamsnap related, so I imagine they are the same that were posted above. When I'm able to reboot the server, I'll test out 5.0.7 and see if I have the same results as I did in the VM.

Ryand833
Lurker
Posts: 2
Liked: never
Joined: Apr 17, 2019 1:10 am
Contact:

Re: Linux Kernel 5.0

Post by Ryand833 » Apr 17, 2019 1:14 am

I just tested kernel 5.0.7 on my Fedora 29 system, same error as kernel 5.0.1, 5.0.4, 5.0.5, etc (regarding blk_init_queue).

I used the experimental veeamsnap build mentioned above and it works with 5.0.7 (exact kernel version: 5.0.7-200.fc29.x86_64)

P.Tide
Product Manager
Posts: 4989
Liked: 426 times
Joined: May 19, 2015 1:46 pm
Contact:

Re: Linux Kernel 5.0

Post by P.Tide » Apr 17, 2019 10:19 am

Ryand,

So, to clarify - the current official build of veeamsnap does not work 5.0.7, 5.0.1, 5.0.4, 5.0.5 and you get the blk_init_queue error, but the experimental build works just fine on 5.0.7, is that correct?

Thanks!

Ryand833
Lurker
Posts: 2
Liked: never
Joined: Apr 17, 2019 1:10 am
Contact:

Re: Linux Kernel 5.0

Post by Ryand833 » Apr 17, 2019 1:42 pm

Yes, that's right - I tested the official build on all the kernels you listed, each having the same build errors on the veeamsnap module.

I then tested the experimental build on 5.0.7 - the module built successfully, the module loaded successfully, and I was able to perform a full system backup using it.

sdet00
Influencer
Posts: 15
Liked: 3 times
Joined: Aug 29, 2017 12:39 am
Contact:

Re: Linux Kernel 5.0

Post by sdet00 » Apr 19, 2019 4:32 am 1 person likes this post

I am about to try out Ubuntu 19.04, which ships with 5.0 - has anyone tried this on a Debian based install?

mfo
Influencer
Posts: 19
Liked: 3 times
Joined: May 27, 2010 3:11 pm
Full Name: Christoph Weber
Contact:

Re: Linux Kernel 5.0

Post by mfo » Apr 23, 2019 7:54 am

Same error on Ubuntu 19.04 with veeamsnap 3.0.1.1046:

Code: Select all

/var/lib/dkms/veeamsnap/3.0.1.1046/build/snapimage.c:728:17: error: implicit declaration of function ‘blk_stop_queue’; did you mean ‘blk_sync_queue’? [-Werror=implicit-function-declaration]
                 blk_stop_queue( q );
                 ^~~~~~~~~~~~~~
                 blk_sync_queue

P.Tide
Product Manager
Posts: 4989
Liked: 426 times
Joined: May 19, 2015 1:46 pm
Contact:

Re: Linux Kernel 5.0

Post by P.Tide » Apr 23, 2019 11:06 am

Hi,

Please mind the user guide system requirements section:
Ubuntu 10.04 – 18.10
Support for 19.04 is already on our roadmap for future updates.

Thanks!

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests