From: Theodore Ts'o Date: Sun, 5 Jan 2014 05:15:54 +0000 (-0500) Subject: Use consistent e2fsprogs-standard types X-Git-Tag: v1.42.9.wc1~133 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=795c02def3681a99cc792a5ebc162d06f8a1eeb7;p=tools%2Fe2fsprogs.git Use consistent e2fsprogs-standard types Some different types such as u_int16_t and __uint32_t have snuck into e2fsprogs. These types are not guaranteed by any standard, and they are not provided by dietlibc. Convert them to __u16, __u32, etc. since these are guaranteed to be provided by e2fsprogs' build. Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c index 19be630..0cc0f52 100644 --- a/lib/ext2fs/unix_io.c +++ b/lib/ext2fs/unix_io.c @@ -931,10 +931,10 @@ static errcode_t unix_discard(io_channel channel, unsigned long long block, if (channel->flags & CHANNEL_FLAGS_BLOCK_DEVICE) { #ifdef BLKDISCARD - __uint64_t range[2]; + __u64 range[2]; - range[0] = (__uint64_t)(block) * channel->block_size; - range[1] = (__uint64_t)(count) * channel->block_size; + range[0] = (__u64)(block) * channel->block_size; + range[1] = (__u64)(count) * channel->block_size; ret = ioctl(data->dev, BLKDISCARD, &range); #else diff --git a/lib/quota/common.h b/lib/quota/common.h index 7f3f4b9..7d324bf 100644 --- a/lib/quota/common.h +++ b/lib/quota/common.h @@ -7,6 +7,13 @@ #ifndef __QUOTA_COMMON_H__ #define __QUOTA_COMMON_H__ +#if EXT2_FLAT_INCLUDES +#include "e2_types.h" +#else +#include +#endif /* EXT2_FLAT_INCLUDES */ + + #ifndef __attribute__ # if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ # define __attribute__(x) diff --git a/lib/quota/quotaio.c b/lib/quota/quotaio.c index 1bdcba6..7e98ed7 100644 --- a/lib/quota/quotaio.c +++ b/lib/quota/quotaio.c @@ -30,8 +30,8 @@ static const char * const basenames[] = { /* Header in all newer quotafiles */ struct disk_dqheader { - u_int32_t dqh_magic; - u_int32_t dqh_version; + __u32 dqh_magic; + __u32 dqh_version; } __attribute__ ((packed)); /** diff --git a/lib/quota/quotaio_tree.c b/lib/quota/quotaio_tree.c index c1653a3..5b47db4 100644 --- a/lib/quota/quotaio_tree.c +++ b/lib/quota/quotaio_tree.c @@ -59,7 +59,7 @@ static inline void mark_quotafile_info_dirty(struct quota_handle *h) } /* Read given block */ -static void read_blk(struct quota_handle *h, uint blk, dqbuf_t buf) +static void read_blk(struct quota_handle *h, unsigned int blk, dqbuf_t buf) { int err; @@ -72,7 +72,7 @@ static void read_blk(struct quota_handle *h, uint blk, dqbuf_t buf) } /* Write block */ -static int write_blk(struct quota_handle *h, uint blk, dqbuf_t buf) +static int write_blk(struct quota_handle *h, unsigned int blk, dqbuf_t buf) { int err; @@ -117,7 +117,8 @@ static int get_free_dqblk(struct quota_handle *h) } /* Put given block to free list */ -static void put_free_dqblk(struct quota_handle *h, dqbuf_t buf, uint blk) +static void put_free_dqblk(struct quota_handle *h, dqbuf_t buf, + unsigned int blk) { struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; @@ -131,11 +132,12 @@ static void put_free_dqblk(struct quota_handle *h, dqbuf_t buf, uint blk) } /* Remove given block from the list of blocks with free entries */ -static void remove_free_dqentry(struct quota_handle *h, dqbuf_t buf, uint blk) +static void remove_free_dqentry(struct quota_handle *h, dqbuf_t buf, + unsigned int blk) { dqbuf_t tmpbuf = getdqbuf(); struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; - uint nextblk = ext2fs_le32_to_cpu(dh->dqdh_next_free), prevblk = + unsigned int nextblk = ext2fs_le32_to_cpu(dh->dqdh_next_free), prevblk = ext2fs_le32_to_cpu(dh->dqdh_prev_free); @@ -164,7 +166,8 @@ static void remove_free_dqentry(struct quota_handle *h, dqbuf_t buf, uint blk) } /* Insert given block to the beginning of list with free entries */ -static void insert_free_dqentry(struct quota_handle *h, dqbuf_t buf, uint blk) +static void insert_free_dqentry(struct quota_handle *h, dqbuf_t buf, + unsigned int blk) { dqbuf_t tmpbuf = getdqbuf(); struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; @@ -188,8 +191,8 @@ static void insert_free_dqentry(struct quota_handle *h, dqbuf_t buf, uint blk) } /* Find space for dquot */ -static uint find_free_dqentry(struct quota_handle *h, struct dquot *dquot, - int *err) +static unsigned int find_free_dqentry(struct quota_handle *h, + struct dquot *dquot, int *err) { int blk, i; struct qt_disk_dqdbheader *dh; @@ -247,12 +250,12 @@ static uint find_free_dqentry(struct quota_handle *h, struct dquot *dquot, /* Insert reference to structure into the trie */ static int do_insert_tree(struct quota_handle *h, struct dquot *dquot, - uint * treeblk, int depth) + unsigned int * treeblk, int depth) { dqbuf_t buf; int newson = 0, newact = 0; - u_int32_t *ref; - uint newblk; + __u32 *ref; + unsigned int newblk; int ret = 0; log_debug("inserting in tree: treeblk=%u, depth=%d", *treeblk, depth); @@ -271,7 +274,7 @@ static int do_insert_tree(struct quota_handle *h, struct dquot *dquot, read_blk(h, *treeblk, buf); } - ref = (u_int32_t *) buf; + ref = (__u32 *) buf; newblk = ext2fs_le32_to_cpu(ref[get_index(dquot->dq_id, depth)]); if (!newblk) newson = 1; @@ -301,11 +304,11 @@ out_buf: /* Wrapper for inserting quota structure into tree */ static void dq_insert_tree(struct quota_handle *h, struct dquot *dquot) { - uint tmp = QT_TREEOFF; + unsigned int tmp = QT_TREEOFF; if (do_insert_tree(h, dquot, &tmp, 0) < 0) log_err("Cannot write quota (id %u): %s", - (uint) dquot->dq_id, strerror(errno)); + (unsigned int) dquot->dq_id, strerror(errno)); } /* Write dquot to file */ @@ -323,7 +326,7 @@ void qtree_write_dquot(struct dquot *dquot) if (ret) { errno = ENOMEM; log_err("Quota write failed (id %u): %s", - (uint)dquot->dq_id, strerror(errno)); + (unsigned int)dquot->dq_id, strerror(errno)); return; } @@ -340,13 +343,14 @@ void qtree_write_dquot(struct dquot *dquot) if (ret > 0) errno = ENOSPC; log_err("Quota write failed (id %u): %s", - (uint)dquot->dq_id, strerror(errno)); + (unsigned int)dquot->dq_id, strerror(errno)); } ext2fs_free_mem(&ddquot); } /* Free dquot entry in data block */ -static void free_dqentry(struct quota_handle *h, struct dquot *dquot, uint blk) +static void free_dqentry(struct quota_handle *h, struct dquot *dquot, + unsigned int blk) { struct qt_disk_dqdbheader *dh; struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; @@ -358,7 +362,7 @@ static void free_dqentry(struct quota_handle *h, struct dquot *dquot, uint blk) if (dquot->dq_dqb.u.v2_mdqb.dqb_off >> QT_BLKSIZE_BITS != blk) log_err("Quota structure has offset to other block (%u) " "than it should (%u).", blk, - (uint) (dquot->dq_dqb.u.v2_mdqb.dqb_off >> + (unsigned int) (dquot->dq_dqb.u.v2_mdqb.dqb_off >> QT_BLKSIZE_BITS)); read_blk(h, blk, buf); @@ -388,11 +392,11 @@ static void free_dqentry(struct quota_handle *h, struct dquot *dquot, uint blk) /* Remove reference to dquot from tree */ static void remove_tree(struct quota_handle *h, struct dquot *dquot, - uint * blk, int depth) + unsigned int * blk, int depth) { dqbuf_t buf = getdqbuf(); - uint newblk; - u_int32_t *ref = (u_int32_t *) buf; + unsigned int newblk; + __u32 *ref = (__u32 *) buf; if (!buf) return; @@ -428,7 +432,7 @@ static void remove_tree(struct quota_handle *h, struct dquot *dquot, /* Delete dquot from tree */ void qtree_delete_dquot(struct dquot *dquot) { - uint tmp = QT_TREEOFF; + unsigned int tmp = QT_TREEOFF; if (!dquot->dq_dqb.u.v2_mdqb.dqb_off) /* Even not allocated? */ return; @@ -437,7 +441,7 @@ void qtree_delete_dquot(struct dquot *dquot) /* Find entry in block */ static ext2_loff_t find_block_dqentry(struct quota_handle *h, - struct dquot *dquot, uint blk) + struct dquot *dquot, unsigned int blk) { struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; dqbuf_t buf = getdqbuf(); @@ -464,11 +468,11 @@ static ext2_loff_t find_block_dqentry(struct quota_handle *h, /* Find entry for given id in the tree */ static ext2_loff_t find_tree_dqentry(struct quota_handle *h, struct dquot *dquot, - uint blk, int depth) + unsigned int blk, int depth) { dqbuf_t buf = getdqbuf(); ext2_loff_t ret = 0; - u_int32_t *ref = (u_int32_t *) buf; + __u32 *ref = (__u32 *) buf; if (!buf) return -ENOMEM; @@ -540,7 +544,7 @@ struct dquot *qtree_read_dquot(struct quota_handle *h, qid_t id) #define set_bit(bmp, ind) ((bmp)[(ind) >> 3] |= (1 << ((ind) & 7))) #define get_bit(bmp, ind) ((bmp)[(ind) >> 3] & (1 << ((ind) & 7))) -static int report_block(struct dquot *dquot, uint blk, char *bitmap, +static int report_block(struct dquot *dquot, unsigned int blk, char *bitmap, int (*process_dquot) (struct dquot *, void *), void *data) { @@ -574,7 +578,7 @@ static int report_block(struct dquot *dquot, uint blk, char *bitmap, return entries; } -static void check_reference(struct quota_handle *h, uint blk) +static void check_reference(struct quota_handle *h, unsigned int blk) { if (blk >= h->qh_info.u.v2_mdqi.dqi_qtree.dqi_blocks) log_err("Illegal reference (%u >= %u) in %s quota file. " @@ -585,13 +589,14 @@ static void check_reference(struct quota_handle *h, uint blk) type2name(h->qh_type)); } -static int report_tree(struct dquot *dquot, uint blk, int depth, char *bitmap, +static int report_tree(struct dquot *dquot, unsigned int blk, int depth, + char *bitmap, int (*process_dquot) (struct dquot *, void *), void *data) { int entries = 0, i; dqbuf_t buf = getdqbuf(); - u_int32_t *ref = (u_int32_t *) buf; + __u32 *ref = (__u32 *) buf; if (!buf) return 0; @@ -620,9 +625,9 @@ static int report_tree(struct dquot *dquot, uint blk, int depth, char *bitmap, return entries; } -static uint find_set_bits(char *bmp, int blocks) +static unsigned int find_set_bits(char *bmp, int blocks) { - uint i, used = 0; + unsigned int i, used = 0; for (i = 0; i < blocks; i++) if (get_bit(bmp, i)) diff --git a/lib/quota/quotaio_tree.h b/lib/quota/quotaio_tree.h index 6ee54c9..be34edb 100644 --- a/lib/quota/quotaio_tree.h +++ b/lib/quota/quotaio_tree.h @@ -7,7 +7,7 @@ #include -typedef u_int32_t qid_t; /* Type in which we store ids in memory */ +typedef __u32 qid_t; /* Type in which we store ids in memory */ #define QT_TREEOFF 1 /* Offset of tree in file in blocks */ #define QT_TREEDEPTH 4 /* Depth of quota tree */ @@ -20,13 +20,13 @@ typedef u_int32_t qid_t; /* Type in which we store ids in memory */ * so there will be space for exactly 21 quota-entries in a block */ struct qt_disk_dqdbheader { - u_int32_t dqdh_next_free; /* Number of next block with free + __u32 dqdh_next_free; /* Number of next block with free * entry */ - u_int32_t dqdh_prev_free; /* Number of previous block with free + __u32 dqdh_prev_free; /* Number of previous block with free * entry */ - u_int16_t dqdh_entries; /* Number of valid entries in block */ - u_int16_t dqdh_pad1; - u_int32_t dqdh_pad2; + __u16 dqdh_entries; /* Number of valid entries in block */ + __u16 dqdh_pad1; + __u32 dqdh_pad2; } __attribute__ ((packed)); struct dquot; diff --git a/lib/quota/quotaio_v2.h b/lib/quota/quotaio_v2.h index 0bb4363..646c698 100644 --- a/lib/quota/quotaio_v2.h +++ b/lib/quota/quotaio_v2.h @@ -16,8 +16,8 @@ #define V2_VERSION 1 struct v2_disk_dqheader { - u_int32_t dqh_magic; /* Magic number identifying file */ - u_int32_t dqh_version; /* File version */ + __u32 dqh_magic; /* Magic number identifying file */ + __u32 dqh_version; /* File version */ } __attribute__ ((packed)); /* Flags for version specific files */ @@ -25,30 +25,30 @@ struct v2_disk_dqheader { /* Header with type and version specific information */ struct v2_disk_dqinfo { - u_int32_t dqi_bgrace; /* Time before block soft limit becomes + __u32 dqi_bgrace; /* Time before block soft limit becomes * hard limit */ - u_int32_t dqi_igrace; /* Time before inode soft limit becomes + __u32 dqi_igrace; /* Time before inode soft limit becomes * hard limit */ - u_int32_t dqi_flags; /* Flags for quotafile (DQF_*) */ - u_int32_t dqi_blocks; /* Number of blocks in file */ - u_int32_t dqi_free_blk; /* Number of first free block in the list */ - u_int32_t dqi_free_entry; /* Number of block with at least one + __u32 dqi_flags; /* Flags for quotafile (DQF_*) */ + __u32 dqi_blocks; /* Number of blocks in file */ + __u32 dqi_free_blk; /* Number of first free block in the list */ + __u32 dqi_free_entry; /* Number of block with at least one * free entry */ } __attribute__ ((packed)); struct v2r1_disk_dqblk { - u_int32_t dqb_id; /* id this quota applies to */ - u_int32_t dqb_pad; - u_int64_t dqb_ihardlimit; /* absolute limit on allocated inodes */ - u_int64_t dqb_isoftlimit; /* preferred inode limit */ - u_int64_t dqb_curinodes; /* current # allocated inodes */ - u_int64_t dqb_bhardlimit; /* absolute limit on disk space + __u32 dqb_id; /* id this quota applies to */ + __u32 dqb_pad; + __u64 dqb_ihardlimit; /* absolute limit on allocated inodes */ + __u64 dqb_isoftlimit; /* preferred inode limit */ + __u64 dqb_curinodes; /* current # allocated inodes */ + __u64 dqb_bhardlimit; /* absolute limit on disk space * (in QUOTABLOCK_SIZE) */ - u_int64_t dqb_bsoftlimit; /* preferred limit on disk space + __u64 dqb_bsoftlimit; /* preferred limit on disk space * (in QUOTABLOCK_SIZE) */ - u_int64_t dqb_curspace; /* current space occupied (in bytes) */ - u_int64_t dqb_btime; /* time limit for excessive disk use */ - u_int64_t dqb_itime; /* time limit for excessive inode use */ + __u64 dqb_curspace; /* current space occupied (in bytes) */ + __u64 dqb_btime; /* time limit for excessive disk use */ + __u64 dqb_itime; /* time limit for excessive inode use */ } __attribute__ ((packed)); #endif