Rev 4519 | Rev 4555 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4519 | Rev 4551 | ||
|---|---|---|---|
| Line 161... | Line 161... | ||
| 161 | int phone = vfs_grab_phone(root->fs_handle); |
161 | int phone = vfs_grab_phone(root->fs_handle); |
| 162 | aid_t req = async_send_5(phone, VFS_LOOKUP, (ipcarg_t) first, |
162 | aid_t req = async_send_5(phone, VFS_LOOKUP, (ipcarg_t) first, |
| 163 | (ipcarg_t) (first + len - 1) % PLB_SIZE, |
163 | (ipcarg_t) (first + len - 1) % PLB_SIZE, |
| 164 | (ipcarg_t) root->dev_handle, (ipcarg_t) lflag, (ipcarg_t) index, |
164 | (ipcarg_t) root->dev_handle, (ipcarg_t) lflag, (ipcarg_t) index, |
| 165 | &answer); |
165 | &answer); |
| 166 | vfs_release_phone(phone); |
- | |
| 167 | 166 | ||
| 168 | ipcarg_t rc; |
167 | ipcarg_t rc; |
| 169 | async_wait_for(req, &rc); |
168 | async_wait_for(req, &rc); |
| - | 169 | vfs_release_phone(phone); |
|
| 170 | 170 | ||
| 171 | futex_down(&plb_futex); |
171 | futex_down(&plb_futex); |
| 172 | list_remove(&entry.plb_link); |
172 | list_remove(&entry.plb_link); |
| 173 | /* |
173 | /* |
| 174 | * Erasing the path from PLB will come handy for debugging purposes. |
174 | * Erasing the path from PLB will come handy for debugging purposes. |
| Line 206... | Line 206... | ||
| 206 | ipc_call_t answer; |
206 | ipc_call_t answer; |
| 207 | aid_t req = async_send_2(phone, VFS_OPEN_NODE, |
207 | aid_t req = async_send_2(phone, VFS_OPEN_NODE, |
| 208 | (ipcarg_t) result->triplet.dev_handle, |
208 | (ipcarg_t) result->triplet.dev_handle, |
| 209 | (ipcarg_t) result->triplet.index, &answer); |
209 | (ipcarg_t) result->triplet.index, &answer); |
| 210 | 210 | ||
| 211 | vfs_release_phone(phone); |
- | |
| 212 | 211 | ||
| 213 | ipcarg_t rc; |
212 | ipcarg_t rc; |
| 214 | async_wait_for(req, &rc); |
213 | async_wait_for(req, &rc); |
| - | 214 | vfs_release_phone(phone); |
|
| 215 | 215 | ||
| 216 | if (rc == EOK) { |
216 | if (rc == EOK) { |
| 217 | result->size = (size_t) IPC_GET_ARG1(answer); |
217 | result->size = (size_t) IPC_GET_ARG1(answer); |
| 218 | result->lnkcnt = (unsigned) IPC_GET_ARG2(answer); |
218 | result->lnkcnt = (unsigned) IPC_GET_ARG2(answer); |
| 219 | if (IPC_GET_ARG3(answer) & L_FILE) |
219 | if (IPC_GET_ARG3(answer) & L_FILE) |