sysprog21 / simplefs

A simple native file system for Linux kernel
Other
362 stars 91 forks source link

Kernel 6.3: it breaks again #23

Closed cbkadal closed 1 year ago

cbkadal commented 1 year ago

I can not compile it with kernel version 6.3

$ make
cc -std=gnu99 -Wall -o mkfs.simplefs mkfs.c
make -C /lib/modules/6.3.1-231vbox-30/build M=/tmp/simplefs modules
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-6.3.1'
  CC [M]  /tmp/simplefs/fs.o
  CC [M]  /tmp/simplefs/super.o
/tmp/simplefs/super.c: In function ‘simplefs_fill_super’:
/tmp/simplefs/super.c:286:22: error: passing argument 1 of ‘inode_init_owner’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  286 |     inode_init_owner(&init_user_ns, root_inode, NULL, root_inode->i_mode);
      |                      ^~~~~~~~~~~~~
      |                      |
      |                      struct user_namespace *
In file included from ./include/linux/highmem.h:5,
                 from ./include/linux/bvec.h:10,
                 from ./include/linux/blk_types.h:10,
                 from ./include/linux/buffer_head.h:12,
                 from /tmp/simplefs/super.c:3:
./include/linux/fs.h:1682:41: note: expected ‘struct mnt_idmap *’ but argument is of type ‘struct user_namespace *’
 1682 | void inode_init_owner(struct mnt_idmap *idmap, struct inode *inode,
      |                       ~~~~~~~~~~~~~~~~~~^~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /tmp/simplefs/super.o] Error 1
make[1]: *** [Makefile:2025: /tmp/simplefs] Error 2
make[1]: Leaving directory '/usr/src/linux-6.3.1'
make: *** [Makefile:9: all] Error 2