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) |