Changes in uspace/lib/libfs/libfs.c [c888102:eda925a] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libfs/libfs.c
rc888102 reda925a 161 161 /* Accept the phone */ 162 162 callid = async_get_call(&call); 163 int mountee_phone = (int) IPC_GET_ARG1(call);163 int mountee_phone = (int) IPC_GET_ARG1(call); 164 164 if ((IPC_GET_METHOD(call) != IPC_M_CONNECTION_CLONE) || 165 165 (mountee_phone < 0)) { … … 172 172 ipc_answer_0(callid, EOK); 173 173 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 182 174 fs_node_t *fn; 183 175 res = ops->node_get(&fn, mp_dev_handle, mp_fs_index); 184 176 if ((res != EOK) || (!fn)) { 185 177 ipc_hangup(mountee_phone); 186 ipc_answer_0(callid,combine_rc(res, ENOENT));178 async_data_write_void(combine_rc(res, ENOENT)); 187 179 ipc_answer_0(rid, combine_rc(res, ENOENT)); 188 180 return; … … 192 184 ipc_hangup(mountee_phone); 193 185 (void) ops->node_put(fn); 194 ipc_answer_0(callid,EBUSY);186 async_data_write_void(EBUSY); 195 187 ipc_answer_0(rid, EBUSY); 196 188 return; … … 201 193 ipc_hangup(mountee_phone); 202 194 (void) ops->node_put(fn); 203 ipc_answer_0(callid,rc);195 async_data_write_void(rc); 204 196 ipc_answer_0(rid, rc); 205 197 return; … … 207 199 208 200 ipc_call_t 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); 201 rc = async_data_write_forward_1_1(mountee_phone, VFS_OUT_MOUNTED, 202 mr_dev_handle, &answer); 213 203 214 204 if (rc == EOK) {
Note:
See TracChangeset
for help on using the changeset viewer.