The assertion assert_cc(sizeof(statfs_f_type_t) >= sizeof(s->f_type));
can trigger on architectures where long is smaller than struct statfs' f_type member. This includes x32. Thus fix the typedef statfs_f_type_t. --- src/basic/stat-util.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Please Cc me in replies. Helmut diff --git a/src/basic/stat-util.h b/src/basic/stat-util.h index 909b220..dad4b74 100644 --- a/src/basic/stat-util.h +++ b/src/basic/stat-util.h @@ -52,9 +52,8 @@ int path_is_os_tree(const char *path); int files_same(const char *filea, const char *fileb); /* The .f_type field of struct statfs is really weird defined on - * different archs. Let's use our own type we know is sufficiently - * larger to store the possible values. */ -typedef long statfs_f_type_t; + * different archs. Let's give its type a name. */ +typedef typeof(((struct statfs*)0)->f_type) statfs_f_type_t; bool is_fs_type(const struct statfs *s, statfs_f_type_t magic_value) _pure_; int fd_check_fstype(int fd, statfs_f_type_t magic_value); -- 2.6.2 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel