Changeset 2f591127 in mainline for uspace/lib/ext4/libext4_balloc.c


Ignore:
Timestamp:
2014-01-19T14:35:04Z (10 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5828554
Parents:
a159c6a
Message:

ext4: fix some minor bugs and memory leaks

File:
1 edited

Legend:

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

    ra159c6a r2f591127  
    9191        block_t *bitmap_block;
    9292        rc = block_get(&bitmap_block, fs->device, bitmap_block_addr, 0);
    93         if (rc != EOK)
    94                 return rc;
     93        if (rc != EOK) {
     94                ext4_filesystem_put_block_group_ref(bg_ref);
     95                return rc;
     96        }
    9597       
    9698        /* Modify bitmap */
     
    513515                        bitmap_block->dirty = true;
    514516                        rc = block_put(bitmap_block);
    515                         if (rc != EOK)
     517                        if (rc != EOK) {
     518                                ext4_filesystem_put_block_group_ref(bg_ref);
    516519                                return rc;
     520                        }
    517521                       
    518522                        allocated_block =
     
    529533                        bitmap_block->dirty = true;
    530534                        rc = block_put(bitmap_block);
    531                         if (rc != EOK)
     535                        if (rc != EOK) {
     536                                ext4_filesystem_put_block_group_ref(bg_ref);
    532537                                return rc;
     538                        }
    533539                       
    534540                        allocated_block =
     
    600606    bool *free)
    601607{
    602         int rc = EOK;
     608        int rc;
    603609       
    604610        ext4_filesystem_t *fs = inode_ref->fs;
     
    621627        block_t *bitmap_block;
    622628        rc = block_get(&bitmap_block, fs->device, bitmap_block_addr, 0);
    623         if (rc != EOK)
    624                 return rc;
     629        if (rc != EOK) {
     630                ext4_filesystem_put_block_group_ref(bg_ref);
     631                return rc;
     632        }
    625633       
    626634        /* Check if block is free */
Note: See TracChangeset for help on using the changeset viewer.