Carlo Wood
2008-Mar-15 04:32 UTC
Can journal_revoke_header_s::r_count be changed from int to __s32 please?
I find that linux/jbd.h defines: typedef struct journal_revoke_header_s { journal_header_t r_header; __be32 r_count; /* Count of bytes used in the block */ } journal_revoke_header_t; thus, sizeof(r_count) == 4 However, in e2progs, in kernel-jbd.h I find: typedef struct journal_revoke_header_s { journal_header_t r_header; int r_count; /* Count of bytes used in the block */ } journal_revoke_header_t; and this sizeof(r_count) depends on the architecture. Using e2fslibs this is probably not a problem because all current OS have sizeof(int) >= 4, and r_count is assigned rather than mapped to the disk image (even on big endian machines?). Nevertheless, since I believe that kernel-jbd.h should be made public (installed along with the other header files) in order to make at least journal_superblock_t available to user programs, I'd like to request to change this int into __s32. That simply makes more sense as journal_revoke_header_t represents a data structure on disk and sizeof(journal_revoke_header_s) might be used somewhere. -- Carlo Wood <carlo at alinoe.com>