Changeset 0b293a6 in mainline for uspace/lib/ext4/libext4_filesystem.c


Ignore:
Timestamp:
2012-07-21T08:58:29Z (13 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7deca26
Parents:
fe61181
Message:

added variable cache mode + missing cache fini

File:
1 edited

Legend:

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

    rfe61181 r0b293a6  
    4747 * @return                                      error code
    4848 */
    49 int ext4_filesystem_init(ext4_filesystem_t *fs, service_id_t service_id)
     49int ext4_filesystem_init(ext4_filesystem_t *fs, service_id_t service_id,
     50                enum cache_mode cmode)
    5051{
    5152        int rc;
     
    7576
    7677        /* Initialize block caching by libblock */
    77         rc = block_cache_init(service_id, block_size, 0, CACHE_MODE_WB);
     78        rc = block_cache_init(service_id, block_size, 0, cmode);
    7879        if (rc != EOK) {
    7980                block_fini(fs->device);
     
    136137
    137138        /* Finish work with block library */
     139        block_cache_fini(fs->device);
    138140        block_fini(fs->device);
    139141
     
    878880        inode_ref->dirty = true;
    879881
     882        /* Free block with extended attributes if present */
     883        uint32_t xattr_block = ext4_inode_get_file_acl(
     884                        inode_ref->inode, fs->superblock);
     885        if (xattr_block) {
     886                rc = ext4_balloc_free_block(inode_ref, xattr_block);
     887                if (rc != EOK) {
     888                        return rc;
     889                }
     890
     891                ext4_inode_set_file_acl(inode_ref->inode, fs->superblock, 0);
     892        }
     893
    880894        /* Free inode by allocator */
    881895        if (ext4_inode_is_type(fs->superblock, inode_ref->inode,
Note: See TracChangeset for help on using the changeset viewer.