Ignore:
File:
1 edited

Legend:

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

    reda925a rc888102  
    161161        /* Accept the phone */
    162162        callid = async_get_call(&call);
    163         int mountee_phone = (int) IPC_GET_ARG1(call);
     163        int mountee_phone = (int)IPC_GET_ARG1(call);
    164164        if ((IPC_GET_METHOD(call) != IPC_M_CONNECTION_CLONE) ||
    165165            (mountee_phone < 0)) {
     
    172172        ipc_answer_0(callid, EOK);
    173173       
     174        res = async_data_write_receive(&callid, NULL);
     175        if (!res) {
     176                ipc_hangup(mountee_phone);
     177                ipc_answer_0(callid, EINVAL);
     178                ipc_answer_0(rid, EINVAL);
     179                return;
     180        }
     181       
    174182        fs_node_t *fn;
    175183        res = ops->node_get(&fn, mp_dev_handle, mp_fs_index);
    176184        if ((res != EOK) || (!fn)) {
    177185                ipc_hangup(mountee_phone);
    178                 async_data_write_void(combine_rc(res, ENOENT));
     186                ipc_answer_0(callid, combine_rc(res, ENOENT));
    179187                ipc_answer_0(rid, combine_rc(res, ENOENT));
    180188                return;
     
    184192                ipc_hangup(mountee_phone);
    185193                (void) ops->node_put(fn);
    186                 async_data_write_void(EBUSY);
     194                ipc_answer_0(callid, EBUSY);
    187195                ipc_answer_0(rid, EBUSY);
    188196                return;
     
    193201                ipc_hangup(mountee_phone);
    194202                (void) ops->node_put(fn);
    195                 async_data_write_void(rc);
     203                ipc_answer_0(callid, rc);
    196204                ipc_answer_0(rid, rc);
    197205                return;
     
    199207       
    200208        ipc_call_t answer;
    201         rc = async_data_write_forward_1_1(mountee_phone, VFS_OUT_MOUNTED,
    202             mr_dev_handle, &answer);
     209        aid_t msg = async_send_1(mountee_phone, VFS_OUT_MOUNTED, mr_dev_handle,
     210            &answer);
     211        ipc_forward_fast(callid, mountee_phone, 0, 0, 0, IPC_FF_ROUTE_FROM_ME);
     212        async_wait_for(msg, &rc);
    203213       
    204214        if (rc == EOK) {
Note: See TracChangeset for help on using the changeset viewer.