Changeset e8f0158 in mainline for uspace/srv/fs/ext4fs/ext4fs_ops.c


Ignore:
Timestamp:
2013-07-11T21:17:42Z (12 years ago)
Author:
Manuele Conti <conti.ma@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d0a1e9b6
Parents:
67632f7
Message:

Change statfs structure fields [64bit].
Add total_block and free_block operation for ext4fs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/ext4fs/ext4fs_ops.c

    r67632f7 re8f0158  
    102102static service_id_t ext4fs_service_get(fs_node_t *node);
    103103static long ext4fs_size_block(service_id_t);
     104static long ext4fs_total_block(service_id_t);
     105static long ext4fs_free_block(service_id_t);
    104106
    105107/* Static variables */
     
    847849        if (NULL == inst)
    848850                return ENOENT;
     851
    849852        ext4_superblock_t *sb = inst->filesystem->superblock;
    850853        uint32_t block_size = ext4_superblock_get_block_size(sb);
     854
    851855        return block_size;
     856}
     857
     858long ext4fs_total_block(service_id_t service_id)
     859{
     860        ext4fs_instance_t *inst;
     861        int rc = ext4fs_instance_get(service_id, &inst);
     862        if (rc != EOK)
     863                return rc;
     864        if (NULL == inst)
     865                return ENOENT;
     866
     867        ext4_superblock_t *sb = inst->filesystem->superblock;
     868        uint32_t block_count = ext4_superblock_get_blocks_count(sb);
     869
     870        return block_count;
     871}
     872
     873long ext4fs_free_block(service_id_t service_id)
     874{
     875        ext4fs_instance_t *inst;
     876        int rc = ext4fs_instance_get(service_id, &inst);
     877        if (rc != EOK)
     878                return rc;
     879        if (NULL == inst)
     880                return ENOENT;
     881
     882        ext4_superblock_t *sb = inst->filesystem->superblock;
     883        uint32_t block_count = ext4_superblock_get_free_blocks_count(sb);
     884
     885        return block_count;
    852886}
    853887
     
    872906        .is_file = ext4fs_is_file,
    873907        .service_get = ext4fs_service_get,
    874         .size_block = ext4fs_size_block
     908        .size_block = ext4fs_size_block,
     909        .total_block = ext4fs_total_block,
     910        .free_block = ext4fs_free_block
    875911};
    876912
Note: See TracChangeset for help on using the changeset viewer.