Changeset ae3d4f8 in mainline for uspace/lib/ext4/libext4_balloc.c
- Timestamp:
- 2011-11-20T08:35:56Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fe27eb4
- Parents:
- 528e5b3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ext4/libext4_balloc.c
r528e5b3 rae3d4f8 117 117 uint32_t block_size = ext4_superblock_get_block_size(fs->superblock); 118 118 119 // Update superblock free blocks count 120 uint32_t sb_free_blocks = ext4_superblock_get_free_blocks_count(fs->superblock); 121 sb_free_blocks--; 122 ext4_superblock_set_free_blocks_count(fs->superblock, sb_free_blocks); 123 124 // Update inode blocks count 119 125 uint64_t ino_blocks = ext4_inode_get_blocks_count(fs->superblock, inode_ref->inode); 120 126 ino_blocks -= block_size / EXT4_INODE_BLOCK_SIZE; … … 122 128 inode_ref->dirty = true; 123 129 130 // Update block group free blocks count 124 131 uint32_t free_blocks = ext4_block_group_get_free_blocks_count(bg_ref->block_group); 125 132 free_blocks++; 126 133 ext4_block_group_set_free_blocks_count(bg_ref->block_group, free_blocks); 127 134 bg_ref->dirty = true; 128 129 // TODO change free blocks count in superblock130 135 131 136 rc = ext4_filesystem_put_block_group_ref(bg_ref); … … 444 449 uint32_t block_size = ext4_superblock_get_block_size(fs->superblock); 445 450 446 // TODO decrement superblock free blocks count 447 //uint32_t sb_free_blocks = ext4_superblock_get_free_blocks_count(sb); 448 //sb_free_blocks--; 449 //ext4_superblock_set_free_blocks_count(sb, sb_free_blocks); 450 451 // Update superblock free blocks count 452 uint32_t sb_free_blocks = ext4_superblock_get_free_blocks_count(fs->superblock); 453 sb_free_blocks--; 454 ext4_superblock_set_free_blocks_count(fs->superblock, sb_free_blocks); 455 456 // Update inode blocks (different block size!) count 451 457 uint64_t ino_blocks = ext4_inode_get_blocks_count(fs->superblock, inode_ref->inode); 452 458 ino_blocks += block_size / EXT4_INODE_BLOCK_SIZE; … … 454 460 inode_ref->dirty = true; 455 461 462 // Update block group free blocks count 456 463 uint32_t bg_free_blocks = ext4_block_group_get_free_blocks_count(bg_ref->block_group); 457 464 bg_free_blocks--;
Note:
See TracChangeset
for help on using the changeset viewer.