Changeset 132ab5d1 in mainline for uspace/srv/fs/cdfs/cdfs_ops.c


Ignore:
Timestamp:
2018-01-30T03:20:45Z (8 years ago)
Author:
Jenda <jenda.jzqk73@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5a6cc679
Parents:
8bfb163 (diff), 6a5d05b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge commit '6a5d05bd2551e64111bea4f9332dd7448c26ce84' into forwardport

Separate return value from error code in gen_irq_code*().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/cdfs/cdfs_ops.c

    r8bfb163 r132ab5d1  
    4242#include <adt/hash_table.h>
    4343#include <adt/hash.h>
    44 #include <malloc.h>
    4544#include <mem.h>
    4645#include <loc.h>
     
    4948#include <block.h>
    5049#include <scsi/mmc.h>
     50#include <stdlib.h>
    5151#include <str.h>
    5252#include <byteorder.h>
     
    566566}
    567567
    568 static bool cdfs_readdir(cdfs_t *fs, fs_node_t *fs_node)
     568static int cdfs_readdir(cdfs_t *fs, fs_node_t *fs_node)
    569569{
    570570        cdfs_node_t *node = CDFS_NODE(fs_node);
     
    572572       
    573573        if (node->processed)
    574                 return true;
     574                return EOK;
    575575       
    576576        uint32_t blocks = node->size / BLOCK_SIZE;
     
    582582                int rc = block_get(&block, fs->service_id, node->lba + i, BLOCK_FLAGS_NONE);
    583583                if (rc != EOK)
    584                         return false;
     584                        return rc;
    585585               
    586586                cdfs_dir_t *dir;
     
    616616                        int rc = create_node(&fn, fs, dentry_type,
    617617                            (node->lba + i) * BLOCK_SIZE + offset);
    618                         if ((rc != EOK) || (fn == NULL))
    619                                 return false;
     618                        if (rc != EOK)
     619                                return rc;
     620
     621                        assert(fn != NULL);
    620622                       
    621623                        cdfs_node_t *cur = CDFS_NODE(fn);
     
    626628                            dir->name_length, node->fs->enc, dentry_type);
    627629                        if (name == NULL)
    628                                 return false;
     630                                return EIO;
    629631                       
    630632                        // FIXME: check return value
     
    641643       
    642644        node->processed = true;
    643         return true;
     645        return EOK;
    644646}
    645647
     
    961963
    962964/** Read the volume descriptors. */
    963 static bool iso_read_vol_desc(service_id_t sid, cdfs_lba_t altroot,
     965static int iso_read_vol_desc(service_id_t sid, cdfs_lba_t altroot,
    964966    uint32_t *rlba, uint32_t *rsize, cdfs_enc_t *enc, char **vol_ident)
    965967{
     
    968970        int rc = block_get(&block, sid, altroot + 16, BLOCK_FLAGS_NONE);
    969971        if (rc != EOK)
    970                 return false;
     972                return rc;
    971973       
    972974        cdfs_vol_desc_t *vol_desc = (cdfs_vol_desc_t *) block->data;
     
    980982            (vol_desc->version != 1)) {
    981983                block_put(block);
    982                 return false;
     984                return ENOTSUP;
    983985        }
    984986       
     
    10001002                 */
    10011003                block_put(block);
    1002                 return false;
     1004                return ENOTSUP;
    10031005        }
    10041006       
     
    10061008        if (block_size != BLOCK_SIZE) {
    10071009                block_put(block);
    1008                 return false;
     1010                return ENOTSUP;
    10091011        }
    10101012       
     
    10311033       
    10321034        block_put(block);
    1033         return true;
    1034 }
    1035 
    1036 static bool iso_readfs(cdfs_t *fs, fs_node_t *rfn,
     1035        return EOK;
     1036}
     1037
     1038static int iso_readfs(cdfs_t *fs, fs_node_t *rfn,
    10371039    cdfs_lba_t altroot)
    10381040{
    10391041        cdfs_node_t *node = CDFS_NODE(rfn);
    10401042       
    1041         if (!iso_read_vol_desc(fs->service_id, altroot, &node->lba,
    1042             &node->size, &fs->enc, &fs->vol_ident))
    1043                 return false;
     1043        int rc = iso_read_vol_desc(fs->service_id, altroot, &node->lba,
     1044            &node->size, &fs->enc, &fs->vol_ident);
     1045        if (rc != EOK)
     1046                return rc;
    10441047       
    10451048        return cdfs_readdir(fs, rfn);
     
    10721075       
    10731076        /* Check if there is cdfs in given session */
    1074         if (!iso_readfs(fs, rfn, altroot))
     1077        if (iso_readfs(fs, rfn, altroot) != EOK)
    10751078                goto error;
    10761079       
     
    11251128        uint32_t rsize;
    11261129        cdfs_enc_t enc;
    1127         if (!iso_read_vol_desc(service_id, altroot, &rlba, &rsize, &enc,
    1128             &vol_ident)) {
     1130        rc = iso_read_vol_desc(service_id, altroot, &rlba, &rsize, &enc,
     1131            &vol_ident);
     1132        if (rc != EOK) {
    11291133                block_cache_fini(service_id);
    11301134                block_fini(service_id);
    1131                 return EIO;
     1135                return rc;
    11321136        }
    11331137       
Note: See TracChangeset for help on using the changeset viewer.