Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_ops.c

    r6371eb47 r951e451  
    9090        errno_t rc;
    9191
    92         /* If the file descriptors are the same, do nothing. */
    93         if (oldfd == newfd)
    94                 return EOK;
    95 
    9692        /* Lookup the file structure corresponding to fd. */
    9793        vfs_file_t *oldfile = vfs_file_get(oldfd);
     
    10096
    10197        assert(oldfile->node != NULL);
     98
     99        /* If the file descriptors are the same, do nothing. */
     100        if (oldfd == newfd) {
     101                vfs_file_put(oldfile);
     102                return EOK;
     103        }
    102104
    103105        if (newfd != -1) {
     
    168170        res.triplet.fs_handle = fs_handle;
    169171        res.triplet.service_id = service_id;
    170         res.triplet.index = (fs_index_t) IPC_GET_ARG1(answer);
    171         res.size = (int64_t) MERGE_LOUP32(IPC_GET_ARG2(answer),
    172             IPC_GET_ARG3(answer));
     172        res.triplet.index = (fs_index_t) ipc_get_arg1(&answer);
     173        res.size = (int64_t) MERGE_LOUP32(ipc_get_arg2(&answer),
     174            ipc_get_arg3(&answer));
    173175        res.type = VFS_NODE_DIRECTORY;
    174176
     
    374376        }
    375377
    376         *bytes = IPC_GET_ARG1(*answer);
     378        *bytes = ipc_get_arg1(answer);
    377379        return rc;
    378380}
     
    401403        async_wait_for(msg, &rc);
    402404
    403         chunk->size = IPC_GET_ARG1(*answer);
     405        chunk->size = ipc_get_arg1(answer);
    404406
    405407        return (errno_t) rc;
     
    488490                /* Update the cached version of node's size. */
    489491                if (rc == EOK) {
    490                         file->node->size = MERGE_LOUP32(IPC_GET_ARG2(answer),
    491                             IPC_GET_ARG3(answer));
     492                        file->node->size = MERGE_LOUP32(ipc_get_arg2(&answer),
     493                            ipc_get_arg3(&answer));
    492494                }
    493495                fibril_rwlock_write_unlock(&file->node->contents_rwlock);
     
    616618                return EBADF;
    617619
     620        if (!file->open_write || file->node->type != VFS_NODE_FILE) {
     621                vfs_file_put(file);
     622                return EINVAL;
     623        }
     624
    618625        fibril_rwlock_write_lock(&file->node->contents_rwlock);
    619626
     
    637644
    638645        async_exch_t *exch = vfs_exchange_grab(node->fs_handle);
    639         errno_t rc = async_data_read_forward_fast(exch, VFS_OUT_STAT,
    640             node->service_id, node->index, true, 0, NULL);
     646        errno_t rc = async_data_read_forward_3_0(exch, VFS_OUT_STAT,
     647            node->service_id, node->index, true);
    641648        vfs_exchange_release(exch);
    642649
     
    654661
    655662        async_exch_t *exch = vfs_exchange_grab(node->fs_handle);
    656         errno_t rc = async_data_read_forward_fast(exch, VFS_OUT_STATFS,
    657             node->service_id, node->index, false, 0, NULL);
     663        errno_t rc = async_data_read_forward_3_0(exch, VFS_OUT_STATFS,
     664            node->service_id, node->index, false);
    658665        vfs_exchange_release(exch);
    659666
Note: See TracChangeset for help on using the changeset viewer.