コンパイルエラーが出る件

以下なナニが出ます。

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

別途調べる、ということにて。