Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ext4/src/ops.c

    rb7fd2a0 r38d150e  
    5858/* Forward declarations of auxiliary functions */
    5959
    60 static errno_t ext4_read_directory(ipc_callid_t, aoff64_t, size_t,
     60static int ext4_read_directory(ipc_callid_t, aoff64_t, size_t,
    6161    ext4_instance_t *, ext4_inode_ref_t *, size_t *);
    62 static errno_t ext4_read_file(ipc_callid_t, aoff64_t, size_t, ext4_instance_t *,
     62static int ext4_read_file(ipc_callid_t, aoff64_t, size_t, ext4_instance_t *,
    6363    ext4_inode_ref_t *, size_t *);
    6464static bool ext4_is_dots(const uint8_t *, size_t);
    65 static errno_t ext4_instance_get(service_id_t, ext4_instance_t **);
     65static int ext4_instance_get(service_id_t, ext4_instance_t **);
    6666
    6767/* Forward declarations of ext4 libfs operations. */
    6868
    69 static errno_t ext4_root_get(fs_node_t **, service_id_t);
    70 static errno_t ext4_match(fs_node_t **, fs_node_t *, const char *);
    71 static errno_t ext4_node_get(fs_node_t **, service_id_t, fs_index_t);
    72 static errno_t ext4_node_open(fs_node_t *);
    73        errno_t ext4_node_put(fs_node_t *);
    74 static errno_t ext4_create_node(fs_node_t **, service_id_t, int);
    75 static errno_t ext4_destroy_node(fs_node_t *);
    76 static errno_t ext4_link(fs_node_t *, fs_node_t *, const char *);
    77 static errno_t ext4_unlink(fs_node_t *, fs_node_t *, const char *);
    78 static errno_t ext4_has_children(bool *, fs_node_t *);
     69static int ext4_root_get(fs_node_t **, service_id_t);
     70static int ext4_match(fs_node_t **, fs_node_t *, const char *);
     71static int ext4_node_get(fs_node_t **, service_id_t, fs_index_t);
     72static int ext4_node_open(fs_node_t *);
     73       int ext4_node_put(fs_node_t *);
     74static int ext4_create_node(fs_node_t **, service_id_t, int);
     75static int ext4_destroy_node(fs_node_t *);
     76static int ext4_link(fs_node_t *, fs_node_t *, const char *);
     77static int ext4_unlink(fs_node_t *, fs_node_t *, const char *);
     78static int ext4_has_children(bool *, fs_node_t *);
    7979static fs_index_t ext4_index_get(fs_node_t *);
    8080static aoff64_t ext4_size_get(fs_node_t *);
     
    8383static bool ext4_is_file(fs_node_t *node);
    8484static service_id_t ext4_service_get(fs_node_t *node);
    85 static errno_t ext4_size_block(service_id_t, uint32_t *);
    86 static errno_t ext4_total_block_count(service_id_t, uint64_t *);
    87 static errno_t ext4_free_block_count(service_id_t, uint64_t *);
     85static int ext4_size_block(service_id_t, uint32_t *);
     86static int ext4_total_block_count(service_id_t, uint64_t *);
     87static int ext4_free_block_count(service_id_t, uint64_t *);
    8888
    8989/* Static variables */
     
    138138 *
    139139 */
    140 errno_t ext4_global_init(void)
     140int ext4_global_init(void)
    141141{
    142142        if (!hash_table_create(&open_nodes, 0, 0, &open_nodes_ops))
     
    152152 * @return Error code
    153153 */
    154 errno_t ext4_global_fini(void)
     154int ext4_global_fini(void)
    155155{
    156156        hash_table_destroy(&open_nodes);
     
    170170 *
    171171 */
    172 errno_t ext4_instance_get(service_id_t service_id, ext4_instance_t **inst)
     172int ext4_instance_get(service_id_t service_id, ext4_instance_t **inst)
    173173{
    174174        fibril_mutex_lock(&instance_list_mutex);
     
    199199 *
    200200 */
    201 errno_t ext4_root_get(fs_node_t **rfn, service_id_t service_id)
     201int ext4_root_get(fs_node_t **rfn, service_id_t service_id)
    202202{
    203203        return ext4_node_get(rfn, service_id, EXT4_INODE_ROOT_INDEX);
     
    215215 *
    216216 */
    217 errno_t ext4_match(fs_node_t **rfn, fs_node_t *pfn, const char *component)
     217int ext4_match(fs_node_t **rfn, fs_node_t *pfn, const char *component)
    218218{
    219219        ext4_node_t *eparent = EXT4_NODE(pfn);
     
    226226        /* Try to find entry */
    227227        ext4_directory_search_result_t result;
    228         errno_t rc = ext4_directory_find_entry(&result, eparent->inode_ref,
     228        int rc = ext4_directory_find_entry(&result, eparent->inode_ref,
    229229            component);
    230230        if (rc != EOK) {
     
    247247
    248248        /* Destroy search result structure */
    249         errno_t const rc2 = ext4_directory_destroy_result(&result);
     249        int const rc2 = ext4_directory_destroy_result(&result);
    250250        return rc == EOK ? rc2 : rc;
    251251}
     
    262262 *
    263263 */
    264 errno_t ext4_node_get(fs_node_t **rfn, service_id_t service_id, fs_index_t index)
     264int ext4_node_get(fs_node_t **rfn, service_id_t service_id, fs_index_t index)
    265265{
    266266        ext4_instance_t *inst;
    267         errno_t rc = ext4_instance_get(service_id, &inst);
     267        int rc = ext4_instance_get(service_id, &inst);
    268268        if (rc != EOK)
    269269                return rc;
     
    281281 *
    282282 */
    283 errno_t ext4_node_get_core(fs_node_t **rfn, ext4_instance_t *inst,
     283int ext4_node_get_core(fs_node_t **rfn, ext4_instance_t *inst,
    284284    fs_index_t index)
    285285{
     
    322322        /* Load i-node from filesystem */
    323323        ext4_inode_ref_t *inode_ref;
    324         errno_t rc = ext4_filesystem_get_inode_ref(inst->filesystem, index,
     324        int rc = ext4_filesystem_get_inode_ref(inst->filesystem, index,
    325325            &inode_ref);
    326326        if (rc != EOK) {
     
    355355 *
    356356 */
    357 static errno_t ext4_node_put_core(ext4_node_t *enode)
     357static int ext4_node_put_core(ext4_node_t *enode)
    358358{
    359359        hash_table_remove_item(&open_nodes, &enode->link);
     
    362362       
    363363        /* Put inode back in filesystem */
    364         errno_t rc = ext4_filesystem_put_inode_ref(enode->inode_ref);
     364        int rc = ext4_filesystem_put_inode_ref(enode->inode_ref);
    365365        if (rc != EOK)
    366366                return rc;
     
    382382 *
    383383 */
    384 errno_t ext4_node_open(fs_node_t *fn)
     384int ext4_node_open(fs_node_t *fn)
    385385{
    386386        /* Stateless operation */
     
    396396 *
    397397 */
    398 errno_t ext4_node_put(fs_node_t *fn)
     398int ext4_node_put(fs_node_t *fn)
    399399{
    400400        fibril_mutex_lock(&open_nodes_lock);
     
    404404        enode->references--;
    405405        if (enode->references == 0) {
    406                 errno_t rc = ext4_node_put_core(enode);
     406                int rc = ext4_node_put_core(enode);
    407407                if (rc != EOK) {
    408408                        fibril_mutex_unlock(&open_nodes_lock);
     
    425425 *
    426426 */
    427 errno_t ext4_create_node(fs_node_t **rfn, service_id_t service_id, int flags)
     427int ext4_create_node(fs_node_t **rfn, service_id_t service_id, int flags)
    428428{
    429429        /* Allocate enode */
     
    443443        /* Load instance */
    444444        ext4_instance_t *inst;
    445         errno_t rc = ext4_instance_get(service_id, &inst);
     445        int rc = ext4_instance_get(service_id, &inst);
    446446        if (rc != EOK) {
    447447                free(enode);
     
    486486 *
    487487 */
    488 errno_t ext4_destroy_node(fs_node_t *fn)
     488int ext4_destroy_node(fs_node_t *fn)
    489489{
    490490        /* If directory, check for children */
    491491        bool has_children;
    492         errno_t rc = ext4_has_children(&has_children, fn);
     492        int rc = ext4_has_children(&has_children, fn);
    493493        if (rc != EOK) {
    494494                ext4_node_put(fn);
     
    537537 *
    538538 */
    539 errno_t ext4_link(fs_node_t *pfn, fs_node_t *cfn, const char *name)
     539int ext4_link(fs_node_t *pfn, fs_node_t *cfn, const char *name)
    540540{
    541541        /* Check maximum name length */
     
    548548       
    549549        /* Add entry to parent directory */
    550         errno_t rc = ext4_directory_add_entry(parent->inode_ref, name,
     550        int rc = ext4_directory_add_entry(parent->inode_ref, name,
    551551            child->inode_ref);
    552552        if (rc != EOK)
     
    610610 *
    611611 */
    612 errno_t ext4_unlink(fs_node_t *pfn, fs_node_t *cfn, const char *name)
     612int ext4_unlink(fs_node_t *pfn, fs_node_t *cfn, const char *name)
    613613{
    614614        bool has_children;
    615         errno_t rc = ext4_has_children(&has_children, cfn);
     615        int rc = ext4_has_children(&has_children, cfn);
    616616        if (rc != EOK)
    617617                return rc;
     
    683683 *
    684684 */
    685 errno_t ext4_has_children(bool *has_children, fs_node_t *fn)
     685int ext4_has_children(bool *has_children, fs_node_t *fn)
    686686{
    687687        ext4_node_t *enode = EXT4_NODE(fn);
     
    696696       
    697697        ext4_directory_iterator_t it;
    698         errno_t rc = ext4_directory_iterator_init(&it, enode->inode_ref, 0);
     698        int rc = ext4_directory_iterator_init(&it, enode->inode_ref, 0);
    699699        if (rc != EOK)
    700700                return rc;
     
    824824}
    825825
    826 errno_t ext4_size_block(service_id_t service_id, uint32_t *size)
     826int ext4_size_block(service_id_t service_id, uint32_t *size)
    827827{
    828828        ext4_instance_t *inst;
    829         errno_t rc = ext4_instance_get(service_id, &inst);
     829        int rc = ext4_instance_get(service_id, &inst);
    830830        if (rc != EOK)
    831831                return rc;
     
    840840}
    841841
    842 errno_t ext4_total_block_count(service_id_t service_id, uint64_t *count)
     842int ext4_total_block_count(service_id_t service_id, uint64_t *count)
    843843{
    844844        ext4_instance_t *inst;
    845         errno_t rc = ext4_instance_get(service_id, &inst);
     845        int rc = ext4_instance_get(service_id, &inst);
    846846        if (rc != EOK)
    847847                return rc;
     
    856856}
    857857
    858 errno_t ext4_free_block_count(service_id_t service_id, uint64_t *count)
     858int ext4_free_block_count(service_id_t service_id, uint64_t *count)
    859859{
    860860        ext4_instance_t *inst;
    861         errno_t rc = ext4_instance_get(service_id, &inst);
     861        int rc = ext4_instance_get(service_id, &inst);
    862862        if (rc != EOK)
    863863                return rc;
     
    907907 * @return Error code
    908908 */
    909 static errno_t ext4_fsprobe(service_id_t service_id, vfs_fs_probe_info_t *info)
     909static int ext4_fsprobe(service_id_t service_id, vfs_fs_probe_info_t *info)
    910910{
    911911        return ext4_filesystem_probe(service_id);
     
    924924 *
    925925 */
    926 static errno_t ext4_mounted(service_id_t service_id, const char *opts,
     926static int ext4_mounted(service_id_t service_id, const char *opts,
    927927    fs_index_t *index, aoff64_t *size)
    928928{
     
    948948        /* Initialize the filesystem */
    949949        aoff64_t rnsize;
    950         errno_t rc = ext4_filesystem_open(inst, service_id, cmode, &rnsize, &fs);
     950        int rc = ext4_filesystem_open(inst, service_id, cmode, &rnsize, &fs);
    951951        if (rc != EOK) {
    952952                free(inst);
     
    974974 *
    975975 */
    976 static errno_t ext4_unmounted(service_id_t service_id)
     976static int ext4_unmounted(service_id_t service_id)
    977977{
    978978        ext4_instance_t *inst;
    979         errno_t rc = ext4_instance_get(service_id, &inst);
     979        int rc = ext4_instance_get(service_id, &inst);
    980980        if (rc != EOK)
    981981                return rc;
     
    10161016 *
    10171017 */
    1018 static errno_t ext4_read(service_id_t service_id, fs_index_t index, aoff64_t pos,
     1018static int ext4_read(service_id_t service_id, fs_index_t index, aoff64_t pos,
    10191019    size_t *rbytes)
    10201020{
     
    10301030       
    10311031        ext4_instance_t *inst;
    1032         errno_t rc = ext4_instance_get(service_id, &inst);
     1032        int rc = ext4_instance_get(service_id, &inst);
    10331033        if (rc != EOK) {
    10341034                async_answer_0(callid, rc);
     
    10591059        }
    10601060       
    1061         errno_t const rc2 = ext4_filesystem_put_inode_ref(inode_ref);
     1061        int const rc2 = ext4_filesystem_put_inode_ref(inode_ref);
    10621062       
    10631063        return rc == EOK ? rc2 : rc;
     
    10951095 *
    10961096 */
    1097 errno_t ext4_read_directory(ipc_callid_t callid, aoff64_t pos, size_t size,
     1097int ext4_read_directory(ipc_callid_t callid, aoff64_t pos, size_t size,
    10981098    ext4_instance_t *inst, ext4_inode_ref_t *inode_ref, size_t *rbytes)
    10991099{
    11001100        ext4_directory_iterator_t it;
    1101         errno_t rc = ext4_directory_iterator_init(&it, inode_ref, pos);
     1101        int rc = ext4_directory_iterator_init(&it, inode_ref, pos);
    11021102        if (rc != EOK) {
    11031103                async_answer_0(callid, rc);
     
    11861186 *
    11871187 */
    1188 errno_t ext4_read_file(ipc_callid_t callid, aoff64_t pos, size_t size,
     1188int ext4_read_file(ipc_callid_t callid, aoff64_t pos, size_t size,
    11891189    ext4_instance_t *inst, ext4_inode_ref_t *inode_ref, size_t *rbytes)
    11901190{
     
    12111211        /* Get the real block number */
    12121212        uint32_t fs_block;
    1213         errno_t rc = ext4_filesystem_get_inode_data_block_index(inode_ref,
     1213        int rc = ext4_filesystem_get_inode_data_block_index(inode_ref,
    12141214            file_block, &fs_block);
    12151215        if (rc != EOK) {
     
    12751275 *
    12761276 */
    1277 static errno_t ext4_write(service_id_t service_id, fs_index_t index, aoff64_t pos,
     1277static int ext4_write(service_id_t service_id, fs_index_t index, aoff64_t pos,
    12781278    size_t *wbytes, aoff64_t *nsize)
    12791279{
    12801280        fs_node_t *fn;
    1281         errno_t rc = ext4_node_get(&fn, service_id, index);
     1281        int rc = ext4_node_get(&fn, service_id, index);
    12821282        if (rc != EOK)
    12831283                return rc;
     
    13971397        ;
    13981398
    1399         errno_t const rc2 = ext4_node_put(fn);
     1399        int const rc2 = ext4_node_put(fn);
    14001400        return rc == EOK ? rc2 : rc;
    14011401}
     
    14121412 *
    14131413 */
    1414 static errno_t ext4_truncate(service_id_t service_id, fs_index_t index,
     1414static int ext4_truncate(service_id_t service_id, fs_index_t index,
    14151415    aoff64_t new_size)
    14161416{
    14171417        fs_node_t *fn;
    1418         errno_t rc = ext4_node_get(&fn, service_id, index);
     1418        int rc = ext4_node_get(&fn, service_id, index);
    14191419        if (rc != EOK)
    14201420                return rc;
     
    14241424       
    14251425        rc = ext4_filesystem_truncate_inode(inode_ref, new_size);
    1426         errno_t const rc2 = ext4_node_put(fn);
     1426        int const rc2 = ext4_node_put(fn);
    14271427       
    14281428        return rc == EOK ? rc2 : rc;
     
    14371437 *
    14381438 */
    1439 static errno_t ext4_close(service_id_t service_id, fs_index_t index)
     1439static int ext4_close(service_id_t service_id, fs_index_t index)
    14401440{
    14411441        return EOK;
     
    14501450 *
    14511451 */
    1452 static errno_t ext4_destroy(service_id_t service_id, fs_index_t index)
     1452static int ext4_destroy(service_id_t service_id, fs_index_t index)
    14531453{
    14541454        fs_node_t *fn;
    1455         errno_t rc = ext4_node_get(&fn, service_id, index);
     1455        int rc = ext4_node_get(&fn, service_id, index);
    14561456        if (rc != EOK)
    14571457                return rc;
     
    14671467 *
    14681468 */
    1469 static errno_t ext4_sync(service_id_t service_id, fs_index_t index)
     1469static int ext4_sync(service_id_t service_id, fs_index_t index)
    14701470{
    14711471        fs_node_t *fn;
    1472         errno_t rc = ext4_node_get(&fn, service_id, index);
     1472        int rc = ext4_node_get(&fn, service_id, index);
    14731473        if (rc != EOK)
    14741474                return rc;
Note: See TracChangeset for help on using the changeset viewer.