datto/dattobd

5.19.0-35-generic removed genhd.h?

kattantak opened this issue · 8 comments

I just tried to recompile on the newest kernel what I got with ubuntu update

dattobd/src/includes.h:13:10: fatal error: linux/genhd.h: No such file or directory
13 | #include <linux/genhd.h>
| ^~~~~~~~~~~~~~~
compilation terminated.

It seems for me this header is not exist any more in the newest kernel on ubuntu. Please investigate. Thank you.

Hello @kattantak we have added support for kernel 5.19, you can check it out

Hello. Building smoothly on 5.19. Thanks for the update.

Unfortunately for some reason it is not able to create snapshots. Do you have any idea why or how I can check what can be the problem? Thanks

[ 2901.005212]
[ 3021.836220] INFO: task dbdctl:18133 blocked for more than 966 seconds.
[ 3021.836248] Tainted: G OE 5.19.0-45-generic #46~22.04.1-Ubuntu
[ 3021.836257] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 3021.836265] task:dbdctl state:D stack: 0 pid:18133 ppid: 18132 flags:0x00004002
[ 3021.836275] Call Trace:
[ 3021.836281]
[ 3021.836289] __schedule+0x257/0x5d0
[ 3021.836304] schedule+0x68/0x110
[ 3021.836310] io_schedule+0x46/0x80
[ 3021.836316] folio_wait_bit_common+0x14c/0x3a0
[ 3021.836327] ? filemap_invalidate_unlock_two+0x50/0x50
[ 3021.836335] ? blkdev_writepages+0x20/0x20
[ 3021.836342] do_read_cache_folio+0x14b/0x200
[ 3021.836349] read_cache_page+0x1a/0xb0
[ 3021.836356] read_part_sector+0x3f/0x190
[ 3021.836364] read_lba+0xfc/0x270
[ 3021.836369] ? kmem_cache_alloc_trace+0x1a6/0x330
[ 3021.836379] find_valid_gpt.constprop.0+0xd5/0x600
[ 3021.836385] ? post_alloc_hook+0xdf/0x120
[ 3021.836400] ? find_valid_gpt.constprop.0+0x600/0x600
[ 3021.836407] efi_partition+0x80/0x3a0
[ 3021.836413] ? vsnprintf+0x3a8/0x560
[ 3021.836421] ? snprintf+0x49/0x80
[ 3021.836428] ? find_valid_gpt.constprop.0+0x600/0x600
[ 3021.836434] check_partition+0x13a/0x270
[ 3021.836440] bdev_disk_changed.part.0+0xb3/0x230
[ 3021.836448] bdev_disk_changed+0x24/0x40
[ 3021.836453] blkdev_get_whole+0x7f/0xa0
[ 3021.836461] blkdev_get_by_dev.part.0+0x13c/0x330
[ 3021.836467] blkdev_get_by_dev+0x5d/0x80
[ 3021.836471] disk_scan_partitions+0x5a/0xa0
[ 3021.836477] device_add_disk+0x3d7/0x3e0
[ 3021.836484] __tracer_setup_snap+0x1fe/0x230 [dattobd]
[ 3021.836501] tracer_setup_active_snap+0xb5/0x130 [dattobd]
[ 3021.836514] __ioctl_setup+0xfe/0x1b0 [dattobd]
[ 3021.836528] ctrl_ioctl+0x27e/0x3e0 [dattobd]
[ 3021.836542] __x64_sys_ioctl+0x9a/0xe0
[ 3021.836550] do_syscall_64+0x59/0x90
[ 3021.836556] ? irqentry_exit+0x43/0x50
[ 3021.836562] ? exc_page_fault+0x92/0x1b0
[ 3021.836568] entry_SYSCALL_64_after_hwframe+0x63/0xcd
[ 3021.836575] RIP: 0033:0x7fc5adb1aaff
[ 3021.836582] RSP: 002b:00007fffed6c3a90 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 3021.836589] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc5adb1aaff
[ 3021.836593] RDX: 00007fffed6c3b30 RSI: 0000000040289101 RDI: 0000000000000003
[ 3021.836596] RBP: 00007fffed6c3b60 R08: 0000000000000000 R09: 0000000000000000
[ 3021.836600] R10: 00007fc5ada11df0 R11: 0000000000000246 R12: 00007fffed6c3d08
[ 3021.836603] R13: 0000561123b07de9 R14: 0000561123b0ad28 R15: 00007fc5adcab040
[ 3021.836610]

@kattantak I will look into that, are you able to tell me which commit did you build? Also are you using LVM on your machine?

I am using the latest commit as freshly cloning the repo. "git clone https://github.com/datto/dattobd.git"
Not using LVM.


Meanwhile my ubuntu updated to 6.2.0-33-generic and I cannot comply the module again.
make[2]: Entering directory '/usr/src/linux-headers-6.2.0-33-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu122.04) 11.4.0
You are using: gcc-11 (Ubuntu 11.4.0-1ubuntu1
22.04) 11.4.0
CC [M] /home/mike/dattobd-git/dattobd/src/bio_helper.o
/home/mike/dattobd-git/dattobd/src/bio_helper.c: In function ‘dattobd_set_bio_ops’:
/home/mike/dattobd-git/dattobd/src/bio_helper.c:184:9: error: implicit declaration of function ‘bio_set_op_attrs’ [-Werror=implicit-function-declaration]
184 | bio_set_op_attrs(bio, op, op_flags);
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:260: /home/mike/dattobd-git/dattobd/src/bio_helper.o] Error 1
make[2]: *** [Makefile:2026: /home/mike/dattobd-git/dattobd/src] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-6.2.0-33-generic'
make[1]: *** [Makefile:17: default] Error 2
make[1]: Leaving directory '/home/mike/dattobd-git/dattobd/src'
make: *** [Makefile:24: driver] Error 2

I just going to compile from source because ubuntu install not working to me.

sudo apt-key adv --fetch-keys https://cpkg.datto.com/DATTO-PKGS-GPG-KEY
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.rqx86YbDog/gpg.1.sh --fetch-keys https://cpkg.datto.com/DATTO-PKGS-GPG-KEY
gpg: requesting key from 'https://cpkg.datto.com/DATTO-PKGS-GPG-KEY'
gpg: WARNING: unable to fetch URI https://cpkg.datto.com/DATTO-PKGS-GPG-KEY: No such file or directory

we're currently focusing mostly on kernel 5.19. Tested building on kernel 6.1. So 6.2 is not covered with tests, but we're going there. If you find any solution/ workaround I encourage you to share it with us either by creating PR or suggesting solutions. Thanks for you input

OK. no rush with this. Thanks.