Попробовал. Теперь он ругается на что-то другое. Ладно Бог с ним. Ещё раз спасибо!
Спойлер
...
/tmp/vbox.0/regops.c: In function ‘vbsf_read_folio’:
/tmp/vbox.0/regops.c:3684:5: error: implicit declaration of function ‘SetPageError’; did you mean ‘SetPageDirty’? [-Wimplicit-function-declaration]
3684 | SetPageError(page);
| ^~~~~~~~~~~~
| SetPageDirty
/tmp/vbox.0/regops.c: In function ‘vbsf_writepage’:
/tmp/vbox.0/regops.c:3744:21: error: implicit declaration of function ‘PageError’ [-Wimplicit-function-declaration]
3744 | if (PageError(page))
| ^~~~~~~~~
/tmp/vbox.0/regops.c:3745:21: error: implicit declaration of function ‘ClearPageError’; did you mean ‘ClearPageDirty’? [-Wimplicit-function-declaration]
3745 | ClearPageError(page);
| ^~~~~~~~~~~~~~
| ClearPageDirty
/tmp/vbox.0/regops.c: In function ‘vbsf_write_begin’:
/tmp/vbox.0/regops.c:3800:56: error: passing argument 5 of ‘simple_write_begin’ from incompatible pointer type [-Wincompatible-pointer-types]
3800 | return simple_write_begin(file, mapping, pos, len, pagep, fsdata);
| ^~~~~
| |
| struct page **
In file included from ./include/linux/compat.h:17,
from ./arch/x86/include/asm/ia32.h:7,
from ./arch/x86/include/asm/elf.h:10,
from ./include/linux/elf.h:6,
from ./include/linux/module.h:19,
from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:102,
from /tmp/vbox.0/vfsmod.h:43,
from /tmp/vbox.0/regops.c:35:
./include/linux/fs.h:3406:40: note: expected ‘struct folio **’ but argument is of type ‘struct page **’
3406 | struct folio **foliop, void **fsdata);
| ~~~~~~~~~~~~~~~^~~~~~
/tmp/vbox.0/regops.c: At top level:
/tmp/vbox.0/regops.c:3897:23: error: initialization of ‘int (*)(struct file *, struct address_space *, loff_t, unsigned int, struct folio **, void **)’ {aka ‘int (*)(struct file *, struct address_space *, long long int, unsigned int, struct folio **, void **)’} from incompatible pointer type ‘int (*)(struct file *, struct address_space *, loff_t, unsigned int, struct page **, void **)’ {aka ‘int (*)(struct file *, struct address_space *, long long int, unsigned int, struct page **, void **)’} [-Wincompatible-pointer-types]
3897 | .write_begin = vbsf_write_begin,
| ^~~~~~~~~~~~~~~~
/tmp/vbox.0/regops.c:3897:23: note: (near initialization for ‘vbsf_reg_aops.write_begin’)
/tmp/vbox.0/regops.c:3898:23: error: initialization of ‘int (*)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *)’ {aka ‘int (*)(struct file *, struct address_space *, long long int, unsigned int, unsigned int, struct folio *, void *)’} from incompatible pointer type ‘int (*)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct page *, void *)’ {aka ‘int (*)(struct file *, struct address_space *, long long int, unsigned int, unsigned int, struct page *, void *)’} [-Wincompatible-pointer-types]
3898 | .write_end = vbsf_write_end,
| ^~~~~~~~~~~~~~
/tmp/vbox.0/regops.c:3898:23: note: (near initialization for ‘vbsf_reg_aops.write_end’)
make[2]: *** [scripts/Makefile.build:229: /tmp/vbox.0/regops.o] Error 1
make[1]: *** [Makefile:1945: /tmp/vbox.0] Error 2
make: *** [/tmp/vbox.0/Makefile-footer.gmk:133: vboxsf] Error 2
kernel modules and services were not reloaded