hellofs icon indicating copy to clipboard operation
hellofs copied to clipboard

Kernel 6.2.x.x compilation complains

Open maestrosoft opened this issue 1 year ago • 1 comments

With kernel 6.2.x.x the file system API has been redefined with new members. Can you update the source code with the new API?

home/guy/git/hellofs/khellofs.c:19:15: error: initialization of ‘int (*)(struct user_namespace *, struct inode *, struct dentry , umode_t, bool)’ {aka ‘int ()(struct user_namespace *, struct inode *, struct dentry , short unsigned int, _Bool)’} from incompatible pointer type ‘int ()(struct inode *, struct dentry , umode_t, bool)’ {aka ‘int ()(struct inode *, struct dentry , short unsigned int, _Bool)’} [-Werror=incompatible-pointer-types] 19 | .create = hellofs_create, | ^~~~~~~~~~~~~~ /home/guy/git/hellofs/khellofs.c:19:15: note: (near initialization for ‘hellofs_inode_ops.create’) /home/guy/git/hellofs/khellofs.c:20:14: error: initialization of ‘int ()(struct user_namespace *, struct inode *, struct dentry , umode_t)’ {aka ‘int ()(struct user_namespace *, struct inode *, struct dentry , short unsigned int)’} from incompatible pointer type ‘int ()(struct inode *, struct dentry , umode_t)’ {aka ‘int ()(struct inode *, struct dentry , short unsigned int)’} [-Werror=incompatible-pointer-types] 20 | .mkdir = hellofs_mkdir, | ^~~~~~~~~~~~~ /home/guy/git/hellofs/khellofs.c:20:14: note: (near initialization for ‘hellofs_inode_ops.mkdir’) /home/guy/git/hellofs/khellofs.c:26:6: error: ‘const struct file_operations’ has no member named ‘readdir’; did you mean ‘read’? 26 | .readdir = hellofs_readdir, | ^~~~~~~ | read /home/guy/git/hellofs/khellofs.c:26:16: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init] 26 | .readdir = hellofs_readdir, | ^~~~~~~~~~~~~~~ /home/guy/git/hellofs/khellofs.c:26:16: note: (near initialization for ‘hellofs_dir_operations’) /home/guy/git/hellofs/khellofs.c:26:16: error: initialization of ‘loff_t ()(struct file , loff_t, int)’ {aka ‘long long int ()(struct file , long long int, int)’} from incompatible pointer type ‘int ()(struct file *, void , bool ()(struct dir_context *, const char *, int, loff_t, u64, unsigned in

maestrosoft avatar Dec 05 '23 16:12 maestrosoft

It appears that this repository has not been maintained for years. You might want to consider trying simplefs as an alternative. The latter supports Linux 6.x kernels.

jserv avatar Feb 22 '24 15:02 jserv