Changes in uspace/srv/vfs/vfs_lookup.c [79ae36dd:b33ec43] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/vfs/vfs_lookup.c
r79ae36dd rb33ec43 50 50 51 51 FIBRIL_MUTEX_INITIALIZE(plb_mutex); 52 LIST_INITIALIZE(plb_ head); /**< PLB entry ring buffer. */52 LIST_INITIALIZE(plb_entries); /**< PLB entry ring buffer. */ 53 53 uint8_t *plb = NULL; 54 54 … … 102 102 size_t last; /* the last free index */ 103 103 104 if (list_empty(&plb_ head)) {104 if (list_empty(&plb_entries)) { 105 105 first = 0; 106 106 last = PLB_SIZE - 1; 107 107 } else { 108 plb_entry_t *oldest = list_get_instance( plb_head.next,109 plb_entry_t, plb_link);110 plb_entry_t *newest = list_get_instance( plb_head.prev,111 plb_entry_t, plb_link);108 plb_entry_t *oldest = list_get_instance( 109 list_first(&plb_entries), plb_entry_t, plb_link); 110 plb_entry_t *newest = list_get_instance( 111 list_last(&plb_entries), plb_entry_t, plb_link); 112 112 113 113 first = (newest->index + newest->len) % PLB_SIZE; … … 145 145 * buffer. 146 146 */ 147 list_append(&entry.plb_link, &plb_ head);147 list_append(&entry.plb_link, &plb_entries); 148 148 149 149 fibril_mutex_unlock(&plb_mutex); … … 201 201 } 202 202 203 /** Perform a node open operation.204 *205 * @return EOK on success or an error code from errno.h.206 *207 */208 int vfs_open_node_internal(vfs_lookup_res_t *result)209 {210 async_exch_t *exch = vfs_exchange_grab(result->triplet.fs_handle);211 212 ipc_call_t answer;213 aid_t req = async_send_2(exch, VFS_OUT_OPEN_NODE,214 (sysarg_t) result->triplet.devmap_handle,215 (sysarg_t) result->triplet.index, &answer);216 217 sysarg_t rc;218 async_wait_for(req, &rc);219 vfs_exchange_release(exch);220 221 if (rc == EOK) {222 result->size =223 MERGE_LOUP32(IPC_GET_ARG1(answer), IPC_GET_ARG2(answer));224 result->lnkcnt = (unsigned int) IPC_GET_ARG3(answer);225 if (IPC_GET_ARG4(answer) & L_FILE)226 result->type = VFS_NODE_FILE;227 else if (IPC_GET_ARG4(answer) & L_DIRECTORY)228 result->type = VFS_NODE_DIRECTORY;229 else230 result->type = VFS_NODE_UNKNOWN;231 }232 233 return rc;234 }235 236 203 /** 237 204 * @}
Note:
See TracChangeset
for help on using the changeset viewer.