Changeset b7fd2a0 in mainline for uspace/lib/ext4/src/ops.c


Ignore:
Timestamp:
2018-01-13T03:10:29Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a53ed3a
Parents:
36f0738
Message:

Use errno_t in all uspace and kernel code.

Change type of every variable, parameter and return value that holds an
<errno.h> constant to either errno_t (the usual case), or sys_errno_t
(some places in kernel). This is for the purpose of self-documentation,
as well as for type-checking with a bit of type definition hackery.

Although this is a massive commit, it is a simple text replacement, and thus
is very easy to verify. Simply do the following:

`
git checkout <this commit's hash>
git reset HEAD
git add .
tools/srepl '\berrno_t\b' int
git add .
tools/srepl '\bsys_errno_t\b' sysarg_t
git reset
git diff
`

While this doesn't ensure that the replacements are correct, it does ensure
that the commit doesn't do anything except those replacements. Since errno_t
is typedef'd to int in the usual case (and sys_errno_t to sysarg_t), even if
incorrect, this commit cannot change behavior.

File:
1 edited

Legend:

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

    r36f0738 rb7fd2a0  
    5858/* Forward declarations of auxiliary functions */
    5959
    60 static int ext4_read_directory(ipc_callid_t, aoff64_t, size_t,
     60static errno_t ext4_read_directory(ipc_callid_t, aoff64_t, size_t,
    6161    ext4_instance_t *, ext4_inode_ref_t *, size_t *);
    62 static int ext4_read_file(ipc_callid_t, aoff64_t, size_t, ext4_instance_t *,
     62static errno_t 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 int ext4_instance_get(service_id_t, ext4_instance_t **);
     65static errno_t ext4_instance_get(service_id_t, ext4_instance_t **);
    6666
    6767/* Forward declarations of ext4 libfs operations. */
    6868
    69 static int ext4_root_get(fs_node_t **, service_id_t);
    70 static int ext4_match(fs_node_t **, fs_node_t *, const char *);
    71 static int ext4_node_get(fs_node_t **, service_id_t, fs_index_t);
    72 static int ext4_node_open(fs_node_t *);
    73        int ext4_node_put(fs_node_t *);
    74 static int ext4_create_node(fs_node_t **, service_id_t, int);
    75 static int ext4_destroy_node(fs_node_t *);
    76 static int ext4_link(fs_node_t *, fs_node_t *, const char *);
    77 static int ext4_unlink(fs_node_t *, fs_node_t *, const char *);
    78 static int ext4_has_children(bool *, fs_node_t *);
     69static errno_t ext4_root_get(fs_node_t **, service_id_t);
     70static errno_t ext4_match(fs_node_t **, fs_node_t *, const char *);
     71static errno_t ext4_node_get(fs_node_t **, service_id_t, fs_index_t);
     72static errno_t ext4_node_open(fs_node_t *);
     73       errno_t ext4_node_put(fs_node_t *);
     74static errno_t ext4_create_node(fs_node_t **, service_id_t, int);
     75static errno_t ext4_destroy_node(fs_node_t *);
     76static errno_t ext4_link(fs_node_t *, fs_node_t *, const char *);
     77static errno_t ext4_unlink(fs_node_t *, fs_node_t *, const char *);
     78static errno_t 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 int ext4_size_block(service_id_t, uint32_t *);
    86 static int ext4_total_block_count(service_id_t, uint64_t *);
    87 static int ext4_free_block_count(service_id_t, uint64_t *);
     85static errno_t ext4_size_block(service_id_t, uint32_t *);
     86static errno_t ext4_total_block_count(service_id_t, uint64_t *);
     87static errno_t ext4_free_block_count(service_id_t, uint64_t *);
    8888
    8989/* Static variables */
     
    138138 *
    139139 */
    140 int ext4_global_init(void)
     140errno_t ext4_global_init(void)
    141141{
    142142        if (!hash_table_create(&open_nodes, 0, 0, &open_nodes_ops))
     
    152152 * @return Error code
    153153 */
    154 int ext4_global_fini(void)
     154errno_t ext4_global_fini(void)
    155155{
    156156        hash_table_destroy(&open_nodes);
     
    170170 *
    171171 */
    172 int ext4_instance_get(service_id_t service_id, ext4_instance_t **inst)
     172errno_t ext4_instance_get(service_id_t service_id, ext4_instance_t **inst)
    173173{
    174174        fibril_mutex_lock(&instance_list_mutex);
     
    199199 *
    200200 */
    201 int ext4_root_get(fs_node_t **rfn, service_id_t service_id)
     201errno_t 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 int ext4_match(fs_node_t **rfn, fs_node_t *pfn, const char *component)
     217errno_t 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         int rc = ext4_directory_find_entry(&result, eparent->inode_ref,
     228        errno_t rc = ext4_directory_find_entry(&result, eparent->inode_ref,
    229229            component);
    230230        if (rc != EOK) {
     
    247247
    248248        /* Destroy search result structure */
    249         int const rc2 = ext4_directory_destroy_result(&result);
     249        errno_t const rc2 = ext4_directory_destroy_result(&result);
    250250        return rc == EOK ? rc2 : rc;
    251251}
     
    262262 *
    263263 */
    264 int ext4_node_get(fs_node_t **rfn, service_id_t service_id, fs_index_t index)
     264errno_t ext4_node_get(fs_node_t **rfn, service_id_t service_id, fs_index_t index)
    265265{
    266266        ext4_instance_t *inst;
    267         int rc = ext4_instance_get(service_id, &inst);
     267        errno_t rc = ext4_instance_get(service_id, &inst);
    268268        if (rc != EOK)
    269269                return rc;
     
    281281 *
    282282 */
    283 int ext4_node_get_core(fs_node_t **rfn, ext4_instance_t *inst,
     283errno_t 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         int rc = ext4_filesystem_get_inode_ref(inst->filesystem, index,
     324        errno_t rc = ext4_filesystem_get_inode_ref(inst->filesystem, index,
    325325            &inode_ref);
    326326        if (rc != EOK) {
     
    355355 *
    356356 */
    357 static int ext4_node_put_core(ext4_node_t *enode)
     357static errno_t 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         int rc = ext4_filesystem_put_inode_ref(enode->inode_ref);
     364        errno_t rc = ext4_filesystem_put_inode_ref(enode->inode_ref);
    365365        if (rc != EOK)
    366366                return rc;
     
    382382 *
    383383 */
    384 int ext4_node_open(fs_node_t *fn)
     384errno_t ext4_node_open(fs_node_t *fn)
    385385{
    386386        /* Stateless operation */
     
    396396 *
    397397 */
    398 int ext4_node_put(fs_node_t *fn)
     398errno_t ext4_node_put(fs_node_t *fn)
    399399{
    400400        fibril_mutex_lock(&open_nodes_lock);
     
    404404        enode->references--;
    405405        if (enode->references == 0) {
    406                 int rc = ext4_node_put_core(enode);
     406                errno_t rc = ext4_node_put_core(enode);
    407407                if (rc != EOK) {
    408408                        fibril_mutex_unlock(&open_nodes_lock);
     
    425425 *
    426426 */
    427 int ext4_create_node(fs_node_t **rfn, service_id_t service_id, int flags)
     427errno_t 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         int rc = ext4_instance_get(service_id, &inst);
     445        errno_t rc = ext4_instance_get(service_id, &inst);
    446446        if (rc != EOK) {
    447447                free(enode);
     
    486486 *
    487487 */
    488 int ext4_destroy_node(fs_node_t *fn)
     488errno_t ext4_destroy_node(fs_node_t *fn)
    489489{
    490490        /* If directory, check for children */
    491491        bool has_children;
    492         int rc = ext4_has_children(&has_children, fn);
     492        errno_t rc = ext4_has_children(&has_children, fn);
    493493        if (rc != EOK) {
    494494                ext4_node_put(fn);
     
    537537 *
    538538 */
    539 int ext4_link(fs_node_t *pfn, fs_node_t *cfn, const char *name)
     539errno_t 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         int rc = ext4_directory_add_entry(parent->inode_ref, name,
     550        errno_t rc = ext4_directory_add_entry(parent->inode_ref, name,
    551551            child->inode_ref);
    552552        if (rc != EOK)
     
    610610 *
    611611 */
    612 int ext4_unlink(fs_node_t *pfn, fs_node_t *cfn, const char *name)
     612errno_t ext4_unlink(fs_node_t *pfn, fs_node_t *cfn, const char *name)
    613613{
    614614        bool has_children;
    615         int rc = ext4_has_children(&has_children, cfn);
     615        errno_t rc = ext4_has_children(&has_children, cfn);
    616616        if (rc != EOK)
    617617                return rc;
     
    683683 *
    684684 */
    685 int ext4_has_children(bool *has_children, fs_node_t *fn)
     685errno_t 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         int rc = ext4_directory_iterator_init(&it, enode->inode_ref, 0);
     698        errno_t rc = ext4_directory_iterator_init(&it, enode->inode_ref, 0);
    699699        if (rc != EOK)
    700700                return rc;
     
    824824}
    825825
    826 int ext4_size_block(service_id_t service_id, uint32_t *size)
     826errno_t ext4_size_block(service_id_t service_id, uint32_t *size)
    827827{
    828828        ext4_instance_t *inst;
    829         int rc = ext4_instance_get(service_id, &inst);
     829        errno_t rc = ext4_instance_get(service_id, &inst);
    830830        if (rc != EOK)
    831831                return rc;
     
    840840}
    841841
    842 int ext4_total_block_count(service_id_t service_id, uint64_t *count)
     842errno_t ext4_total_block_count(service_id_t service_id, uint64_t *count)
    843843{
    844844        ext4_instance_t *inst;
    845         int rc = ext4_instance_get(service_id, &inst);
     845        errno_t rc = ext4_instance_get(service_id, &inst);
    846846        if (rc != EOK)
    847847                return rc;
     
    856856}
    857857
    858 int ext4_free_block_count(service_id_t service_id, uint64_t *count)
     858errno_t ext4_free_block_count(service_id_t service_id, uint64_t *count)
    859859{
    860860        ext4_instance_t *inst;
    861         int rc = ext4_instance_get(service_id, &inst);
     861        errno_t rc = ext4_instance_get(service_id, &inst);
    862862        if (rc != EOK)
    863863                return rc;
     
    907907 * @return Error code
    908908 */
    909 static int ext4_fsprobe(service_id_t service_id, vfs_fs_probe_info_t *info)
     909static errno_t 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 int ext4_mounted(service_id_t service_id, const char *opts,
     926static errno_t 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         int rc = ext4_filesystem_open(inst, service_id, cmode, &rnsize, &fs);
     950        errno_t rc = ext4_filesystem_open(inst, service_id, cmode, &rnsize, &fs);
    951951        if (rc != EOK) {
    952952                free(inst);
     
    974974 *
    975975 */
    976 static int ext4_unmounted(service_id_t service_id)
     976static errno_t ext4_unmounted(service_id_t service_id)
    977977{
    978978        ext4_instance_t *inst;
    979         int rc = ext4_instance_get(service_id, &inst);
     979        errno_t rc = ext4_instance_get(service_id, &inst);
    980980        if (rc != EOK)
    981981                return rc;
     
    10161016 *
    10171017 */
    1018 static int ext4_read(service_id_t service_id, fs_index_t index, aoff64_t pos,
     1018static errno_t 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         int rc = ext4_instance_get(service_id, &inst);
     1032        errno_t rc = ext4_instance_get(service_id, &inst);
    10331033        if (rc != EOK) {
    10341034                async_answer_0(callid, rc);
     
    10591059        }
    10601060       
    1061         int const rc2 = ext4_filesystem_put_inode_ref(inode_ref);
     1061        errno_t const rc2 = ext4_filesystem_put_inode_ref(inode_ref);
    10621062       
    10631063        return rc == EOK ? rc2 : rc;
     
    10951095 *
    10961096 */
    1097 int ext4_read_directory(ipc_callid_t callid, aoff64_t pos, size_t size,
     1097errno_t 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         int rc = ext4_directory_iterator_init(&it, inode_ref, pos);
     1101        errno_t rc = ext4_directory_iterator_init(&it, inode_ref, pos);
    11021102        if (rc != EOK) {
    11031103                async_answer_0(callid, rc);
     
    11861186 *
    11871187 */
    1188 int ext4_read_file(ipc_callid_t callid, aoff64_t pos, size_t size,
     1188errno_t 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         int rc = ext4_filesystem_get_inode_data_block_index(inode_ref,
     1213        errno_t rc = ext4_filesystem_get_inode_data_block_index(inode_ref,
    12141214            file_block, &fs_block);
    12151215        if (rc != EOK) {
     
    12751275 *
    12761276 */
    1277 static int ext4_write(service_id_t service_id, fs_index_t index, aoff64_t pos,
     1277static errno_t 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         int rc = ext4_node_get(&fn, service_id, index);
     1281        errno_t rc = ext4_node_get(&fn, service_id, index);
    12821282        if (rc != EOK)
    12831283                return rc;
     
    13971397        ;
    13981398
    1399         int const rc2 = ext4_node_put(fn);
     1399        errno_t const rc2 = ext4_node_put(fn);
    14001400        return rc == EOK ? rc2 : rc;
    14011401}
     
    14121412 *
    14131413 */
    1414 static int ext4_truncate(service_id_t service_id, fs_index_t index,
     1414static errno_t ext4_truncate(service_id_t service_id, fs_index_t index,
    14151415    aoff64_t new_size)
    14161416{
    14171417        fs_node_t *fn;
    1418         int rc = ext4_node_get(&fn, service_id, index);
     1418        errno_t 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         int const rc2 = ext4_node_put(fn);
     1426        errno_t const rc2 = ext4_node_put(fn);
    14271427       
    14281428        return rc == EOK ? rc2 : rc;
     
    14371437 *
    14381438 */
    1439 static int ext4_close(service_id_t service_id, fs_index_t index)
     1439static errno_t ext4_close(service_id_t service_id, fs_index_t index)
    14401440{
    14411441        return EOK;
     
    14501450 *
    14511451 */
    1452 static int ext4_destroy(service_id_t service_id, fs_index_t index)
     1452static errno_t ext4_destroy(service_id_t service_id, fs_index_t index)
    14531453{
    14541454        fs_node_t *fn;
    1455         int rc = ext4_node_get(&fn, service_id, index);
     1455        errno_t rc = ext4_node_get(&fn, service_id, index);
    14561456        if (rc != EOK)
    14571457                return rc;
     
    14671467 *
    14681468 */
    1469 static int ext4_sync(service_id_t service_id, fs_index_t index)
     1469static errno_t ext4_sync(service_id_t service_id, fs_index_t index)
    14701470{
    14711471        fs_node_t *fn;
    1472         int rc = ext4_node_get(&fn, service_id, index);
     1472        errno_t 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.