Changeset 9104bb5 in mainline for uspace/lib/ext4/libext4_filesystem.c


Ignore:
Timestamp:
2012-03-20T20:22:19Z (12 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a4419e7
Parents:
cd581120
Message:

changes according to reading inode data with extent

File:
1 edited

Legend:

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

    rcd581120 r9104bb5  
    494494}
    495495
    496 int ext4_filesystem_get_inode_data_block_index(ext4_filesystem_t *fs, ext4_inode_t* inode,
    497     aoff64_t iblock, uint32_t* fblock)
     496int ext4_filesystem_get_inode_data_block_index(ext4_filesystem_t *fs,
     497                ext4_inode_ref_t *inode_ref, aoff64_t iblock, uint32_t* fblock)
    498498{
    499499        int rc;
     
    504504        /* Handle inode using extents */
    505505        if (ext4_superblock_has_feature_incompatible(fs->superblock, EXT4_FEATURE_INCOMPAT_EXTENTS) &&
    506                         ext4_inode_has_flag(inode, EXT4_INODE_FLAG_EXTENTS)) {
    507                 current_block = ext4_inode_get_extent_block(inode, iblock, fs->device);
     506                        ext4_inode_has_flag(inode_ref->inode, EXT4_INODE_FLAG_EXTENTS)) {
     507                rc = ext4_extent_find_block(fs, inode_ref, iblock, &current_block);
     508
     509                if (rc != EOK) {
     510                        return rc;
     511                }
     512
    508513                *fblock = current_block;
    509514                return EOK;
    510515
    511516        }
     517
     518        ext4_inode_t *inode = inode_ref->inode;
    512519
    513520        /* Handle simple case when we are dealing with direct reference */
Note: See TracChangeset for help on using the changeset viewer.