ChangeLog, icount.c:

icount.c (insert_icount_el): Fix the code used to estimate the size of
  	the new icount array to be more intelligent, to avoid reallocating the
  	array too many times.
ChangeLog, ext2_types.h.in:
  ext2_types.h.in: Use unsigned ints in favor of unsigned longs when
  	trying to find a 32-bit wide type.
bitmap-optimize
Theodore Ts'o 2001-06-08 09:43:40 +00:00
parent b705640ae1
commit 30e50b7cdd
3 changed files with 15 additions and 5 deletions

View File

@ -1,3 +1,13 @@
2001-06-08 Theodore Tso <tytso@valinux.com>
* ext2_types.h.in: Use unsigned ints in favor of unsigned longs
when trying to find a 32-bit wide type.
* icount.c (insert_icount_el): Fix the code used to estimate the
size of the new icount array to be more intelligent, to
avoid reallocating the array too many times. Thanks to
Enrique Perez-Terron for pointing this out.
2001-06-02 Theodore Tso <tytso@valinux.com>
* valid_blk.c (ext2fs_inode_has_valid_blocks): Only check i_blocks

View File

@ -29,12 +29,12 @@ typedef unsigned short __u16;
?==error: undefined 16 bit type
#endif
#if (@SIZEOF_LONG@ == 4)
typedef long __s32;
typedef unsigned long __u32;
#elif (@SIZEOF_INT@ == 4)
#if (@SIZEOF_INT@ == 4)
typedef int __s32;
typedef unsigned int __u32;
#elif (@SIZEOF_LONG@ == 4)
typedef long __s32;
typedef unsigned long __u32;
#elif (@SIZEOF_SHORT@ == 4)
typedef short __s32;
typedef unsigned short __u32;

View File

@ -170,7 +170,7 @@ static struct ext2_icount_el *insert_icount_el(ext2_icount_t icount,
if (icount->count) {
new_size = icount->list[(unsigned)icount->count-1].ino;
new_size = (ext2_ino_t) (icount->count *
((float) new_size / icount->num_inodes));
((float) icount->num_inodes / new_size));
}
if (new_size < (icount->size + 100))
new_size = icount->size + 100;