コンパイルエラーが出る件
以下なナニが出ます。
In file included from fs/f2fs/file.c:12: include/linux/f2fs_fs.h:289: error: size of array 'entries' is too large include/linux/f2fs_fs.h:294: error: size of array 'entries' is too large
該当箇所は以下。
#define NAT_JOURNAL_ENTRIES ((SUM_JOURNAL_SIZE - 2) /\ sizeof(struct nat_journal_entry)) #define NAT_JOURNAL_RESERVED ((SUM_JOURNAL_SIZE - 2) %\ sizeof(struct nat_journal_entry)) #define SIT_JOURNAL_ENTRIES ((SUM_JOURNAL_SIZE - 2) /\ sizeof(struct sit_journal_entry)) #define SIT_JOURNAL_RESERVED ((SUM_JOURNAL_SIZE - 2) %\ sizeof(struct sit_journal_entry)) enum { NAT_JOURNAL = 0, SIT_JOURNAL }; struct nat_journal { struct nat_journal_entry entries[NAT_JOURNAL_ENTRIES]; __u8 reserved[NAT_JOURNAL_RESERVED]; } __packed; struct sit_journal { struct sit_journal_entry entries[SIT_JOURNAL_ENTRIES]; __u8 reserved[SIT_JOURNAL_RESERVED]; } __packed;
配列定義のあたりですね。
もしかして
ARCH=arm とかツールチェインな不具合なの? と言いつつ arch/x86 でコンパイルし直してたりして。
ちなみに当り前ですが f2fs を * にしても上記エラーは出てました。
まだ出る
以下にメモを。コンパイルスイッチは全部 y か m です。
fs/f2fs/acl.c: In function ‘f2fs_xattr_get_acl’: fs/f2fs/acl.c:345:2: warning: passing argument 1 of ‘posix_acl_to_xattr’ from incompatible pointer type [enabled by default] include/linux/posix_acl_xattr.h:69:5: note: expected ‘struct user_namespace *’ but argument is of type ‘struct posix_acl *’ fs/f2fs/acl.c:345:2: warning: passing argument 3 of ‘posix_acl_to_xattr’ makes pointer from integer without a cast [enabled by default] include/linux/posix_acl_xattr.h:69:5: note: expected ‘void *’ but argument is of type ‘size_t’ fs/f2fs/acl.c:345:2: error: too few arguments to function ‘posix_acl_to_xattr’ include/linux/posix_acl_xattr.h:69:5: note: declared here fs/f2fs/acl.c: In function ‘f2fs_xattr_set_acl’: fs/f2fs/acl.c:369:3: warning: passing argument 1 of ‘posix_acl_from_xattr’ discards ‘const’ qualifier from pointer target type [enabled by default] include/linux/posix_acl_xattr.h:67:19: note: expected ‘struct user_namespace *’ but argument is of type ‘const void *’ fs/f2fs/acl.c:369:3: warning: passing argument 2 of ‘posix_acl_from_xattr’ makes pointer from integer without a cast [enabled by default] include/linux/posix_acl_xattr.h:67:19: note: expected ‘const void *’ but argument is of type ‘size_t’ fs/f2fs/acl.c:369:3: error: too few arguments to function ‘posix_acl_from_xattr’ include/linux/posix_acl_xattr.h:67:19: note: declared here make[2]: *** [fs/f2fs/acl.o] Error 1 make[1]: *** [fs/f2fs] Error 2 make: *** [fs] Error 2
別途調べる、ということにて。