mirror of https://github.com/vitalif/e2fsprogs
ChangeLog, dblist.c:
dblist.c (ext2fs_get_num_dirs): Improve the estimation of the number of directories when the block group information is unreliable.bitmap-optimize
parent
51fde2bb4f
commit
79b05dbed2
|
@ -1,3 +1,9 @@
|
||||||
|
Fri Feb 20 23:58:01 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
|
||||||
|
|
||||||
|
* dblist.c (ext2fs_get_num_dirs): Improve the estimation of the
|
||||||
|
number of directories when the block group information is
|
||||||
|
unreliable.
|
||||||
|
|
||||||
1998-02-20 Theodore Y. Ts'o <tytso@edt.mit.edu>
|
1998-02-20 Theodore Y. Ts'o <tytso@edt.mit.edu>
|
||||||
|
|
||||||
* inode.c (ext2fs_get_next_inode): Always do the check to see if the
|
* inode.c (ext2fs_get_next_inode): Always do the check to see if the
|
||||||
|
|
|
@ -40,10 +40,10 @@ errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ino_t *ret_num_dirs)
|
||||||
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
|
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
|
||||||
|
|
||||||
num_dirs = 0;
|
num_dirs = 0;
|
||||||
max_dirs = 8 * fs->blocksize;
|
max_dirs = fs->super->s_inodes_per_group;
|
||||||
for (i = 0; i < fs->group_desc_count; i++) {
|
for (i = 0; i < fs->group_desc_count; i++) {
|
||||||
if (fs->group_desc[i].bg_used_dirs_count > max_dirs)
|
if (fs->group_desc[i].bg_used_dirs_count > max_dirs)
|
||||||
num_dirs += max_dirs;
|
num_dirs += max_dirs / 8;
|
||||||
else
|
else
|
||||||
num_dirs += fs->group_desc[i].bg_used_dirs_count;
|
num_dirs += fs->group_desc[i].bg_used_dirs_count;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue