Changeset e25d78c in mainline for uspace/lib/ext4/libext4_ialloc.c


Ignore:
Timestamp:
2012-07-30T19:31:47Z (12 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c15849c
Parents:
a5b1740
Message:

fixed bug with unused inodes count

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ext4/libext4_ialloc.c

    ra5b1740 re25d78c  
    239239                        }
    240240
     241                        /* Decrease unused inodes count */
     242                        if (ext4_block_group_has_flag(bg,
     243                                EXT4_BLOCK_GROUP_ITABLE_ZEROED)) {
     244
     245                                uint32_t unused =
     246                                                ext4_block_group_get_itable_unused(bg, sb);
     247
     248                                uint32_t inodes_in_group =
     249                                                ext4_superblock_get_inodes_in_group(sb, bgid);
     250
     251                                uint32_t free = inodes_in_group - unused;
     252
     253                                if (index_in_group >= free) {
     254                                        unused = inodes_in_group - (index_in_group + 1);
     255
     256                                        ext4_block_group_set_itable_unused(bg, sb, unused);
     257                                }
     258                        }
     259
    241260                        /* Save modified block group */
    242261                        bg_ref->dirty = true;
Note: See TracChangeset for help on using the changeset viewer.