Changeset 6fb8b2c in mainline


Ignore:
Timestamp:
2017-12-06T21:54:37Z (6 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:
9eb1ff5
Parents:
bd1b755
Message:

Use first return value from VFS_OUT_LOOKUP for file descriptor,
instead of service id which is never changed.

Location:
uspace
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/fs/libfs.c

    rbd1b755 r6fb8b2c  
    656656                if (rc == EOK) {
    657657                        aoff64_t size = ops->size_get(cur);
    658                         async_answer_5(rid, fs_handle, service_id,
     658                        async_answer_5(rid, EOK, fs_handle,
    659659                            ops->index_get(cur),
    660660                            (ops->is_directory(cur) << 16) | last,
     
    699699out1:
    700700        if (!cur) {
    701                 async_answer_5(rid, fs_handle, service_id, ops->index_get(par),
     701                async_answer_5(rid, EOK, fs_handle, ops->index_get(par),
    702702                    (ops->is_directory(par) << 16) | last_next,
    703703                    LOWER32(ops->size_get(par)), UPPER32(ops->size_get(par)));
     
    705705        }
    706706       
    707         async_answer_5(rid, fs_handle, service_id, ops->index_get(cur),
     707        async_answer_5(rid, EOK, fs_handle, ops->index_get(cur),
    708708            (ops->is_directory(cur) << 16) | last, LOWER32(ops->size_get(cur)),
    709709            UPPER32(ops->size_get(cur)));
  • uspace/srv/vfs/vfs_lookup.c

    rbd1b755 r6fb8b2c  
    222222        vfs_exchange_release(exch);
    223223       
    224         if ((int) rc < 0)
    225                 return (int) rc;
     224        if (rc != EOK)
     225                return rc;
    226226       
    227227        unsigned last = *pfirst + *plen;
     
    229229        *plen = last - *pfirst;
    230230       
    231         result->triplet.fs_handle = (fs_handle_t) rc;
    232         result->triplet.service_id = (service_id_t) IPC_GET_ARG1(answer);
     231        result->triplet.fs_handle = (fs_handle_t) IPC_GET_ARG1(answer);
     232        result->triplet.service_id = base->service_id;
    233233        result->triplet.index = (fs_index_t) IPC_GET_ARG2(answer);
    234234        result->size = MERGE_LOUP32(IPC_GET_ARG4(answer), IPC_GET_ARG5(answer));
Note: See TracChangeset for help on using the changeset viewer.