Changeset b74959bd in mainline for uspace/srv/vfs
- Timestamp:
- 2007-11-20T21:33:32Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8498915
- Parents:
- 3209923
- Location:
- uspace/srv/vfs
- Files:
-
- 4 edited
-
vfs.c (modified) (2 diffs)
-
vfs_mount.c (modified) (12 diffs)
-
vfs_open.c (modified) (6 diffs)
-
vfs_register.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/vfs/vfs.c
r3209923 rb74959bd 60 60 * This call needs to be answered. 61 61 */ 62 ipc_answer_ fast_0(iid, EOK);62 ipc_answer_0(iid, EOK); 63 63 64 64 /* … … 104 104 case VFS_RENAME: 105 105 default: 106 ipc_answer_ fast_0(callid, ENOTSUP);106 ipc_answer_0(callid, ENOTSUP); 107 107 break; 108 108 } -
uspace/srv/vfs/vfs_mount.c
r3209923 rb74959bd 85 85 */ 86 86 ipc_callid_t callid; 87 ipc_call_t call;88 87 size_t size; 89 if (!ipc_data_receive(&callid, &call,NULL, &size)) {90 ipc_answer_ fast_0(callid, EINVAL);91 ipc_answer_ fast_0(rid, EINVAL);88 if (!ipc_data_receive(&callid, NULL, &size)) { 89 ipc_answer_0(callid, EINVAL); 90 ipc_answer_0(rid, EINVAL); 92 91 return; 93 92 } … … 100 99 if ((size < FS_NAME_MAXLEN + 1) || 101 100 (size > FS_NAME_MAXLEN + MAX_PATH_LEN)) { 102 ipc_answer_ fast_0(callid, EINVAL);103 ipc_answer_ fast_0(rid, EINVAL);101 ipc_answer_0(callid, EINVAL); 102 ipc_answer_0(rid, EINVAL); 104 103 return; 105 104 } … … 111 110 buf = malloc(size); 112 111 if (!buf) { 113 ipc_answer_ fast_0(callid, ENOMEM);114 ipc_answer_ fast_0(rid, ENOMEM);112 ipc_answer_0(callid, ENOMEM); 113 ipc_answer_0(rid, ENOMEM); 115 114 return; 116 115 } … … 119 118 * Deliver the data. 120 119 */ 121 (void) ipc_data_deliver(callid, &call,buf, size);120 (void) ipc_data_deliver(callid, buf, size); 122 121 123 122 char fs_name[FS_NAME_MAXLEN + 1]; … … 132 131 if (!fs_handle) { 133 132 free(buf); 134 ipc_answer_ fast_0(rid, ENOENT);133 ipc_answer_0(rid, ENOENT); 135 134 return; 136 135 } … … 147 146 if (rc != EOK) { 148 147 free(buf); 149 ipc_answer_ fast_0(rid, rc);148 ipc_answer_0(rid, rc); 150 149 return; 151 150 } … … 153 152 if (!mr_node) { 154 153 free(buf); 155 ipc_answer_ fast_0(rid, ENOMEM);154 ipc_answer_0(rid, ENOMEM); 156 155 return; 157 156 } … … 177 176 vfs_node_put(mr_node); /* failed -> drop reference */ 178 177 free(buf); 179 ipc_answer_ fast_0(rid, rc);178 ipc_answer_0(rid, rc); 180 179 return; 181 180 } … … 186 185 vfs_node_put(mr_node); /* failed -> drop reference */ 187 186 free(buf); 188 ipc_answer_ fast_0(rid, ENOMEM);187 ipc_answer_0(rid, ENOMEM); 189 188 return; 190 189 } … … 207 206 futex_up(&rootfs_futex); 208 207 free(buf); 209 ipc_answer_ fast_0(rid, EOK);208 ipc_answer_0(rid, EOK); 210 209 return; 211 210 } else { … … 217 216 free(buf); 218 217 vfs_node_put(mr_node); /* failed -> drop reference */ 219 ipc_answer_ fast_0(rid, ENOENT);218 ipc_answer_0(rid, ENOENT); 220 219 return; 221 220 } … … 255 254 256 255 if (rc2 == EOK) 257 ipc_answer_ fast_0(rid, rc1);256 ipc_answer_0(rid, rc1); 258 257 else if (rc1 == EOK) 259 ipc_answer_ fast_0(rid, rc2);258 ipc_answer_0(rid, rc2); 260 259 else 261 ipc_answer_ fast_0(rid, rc1);260 ipc_answer_0(rid, rc1); 262 261 } 263 262 -
uspace/srv/vfs/vfs_open.c
r3209923 rb74959bd 47 47 { 48 48 if (!vfs_files_init()) { 49 ipc_answer_ fast_0(rid, ENOMEM);49 ipc_answer_0(rid, ENOMEM); 50 50 return; 51 51 } … … 61 61 62 62 ipc_callid_t callid; 63 ipc_call_t call;64 63 65 if (!ipc_data_receive(&callid, &call,NULL, &size)) {66 ipc_answer_ fast_0(callid, EINVAL);67 ipc_answer_ fast_0(rid, EINVAL);64 if (!ipc_data_receive(&callid, NULL, &size)) { 65 ipc_answer_0(callid, EINVAL); 66 ipc_answer_0(rid, EINVAL); 68 67 return; 69 68 } … … 78 77 79 78 if (!path) { 80 ipc_answer_ fast_0(callid, ENOMEM);81 ipc_answer_ fast_0(rid, ENOMEM);79 ipc_answer_0(callid, ENOMEM); 80 ipc_answer_0(rid, ENOMEM); 82 81 return; 83 82 } 84 83 85 84 int rc; 86 if ((rc = ipc_data_deliver(callid, &call,path, size))) {87 ipc_answer_ fast_0(rid, rc);85 if ((rc = ipc_data_deliver(callid, path, size))) { 86 ipc_answer_0(rid, rc); 88 87 free(path); 89 88 return; … … 104 103 if (rc) { 105 104 futex_up(&unlink_futex); 106 ipc_answer_ fast_0(rid, rc);105 ipc_answer_0(rid, rc); 107 106 free(path); 108 107 return; … … 124 123 if (fd < 0) { 125 124 vfs_node_put(node); 126 ipc_answer_ fast_0(rid, fd);125 ipc_answer_0(rid, fd); 127 126 return; 128 127 } … … 143 142 * Success! Return the new file descriptor to the client. 144 143 */ 145 ipc_answer_ fast_1(rid, EOK, fd);144 ipc_answer_1(rid, EOK, fd); 146 145 } 147 146 -
uspace/srv/vfs/vfs_register.c
r3209923 rb74959bd 156 156 * VFS info structure from the client FS. 157 157 */ 158 if (!ipc_data_receive(&callid, &call,NULL, &size)) {158 if (!ipc_data_receive(&callid, NULL, &size)) { 159 159 /* 160 160 * The client doesn't obey the same protocol as we do. 161 161 */ 162 162 dprintf("Receiving of VFS info failed.\n"); 163 ipc_answer_ fast_0(callid, EINVAL);164 ipc_answer_ fast_0(rid, EINVAL);163 ipc_answer_0(callid, EINVAL); 164 ipc_answer_0(rid, EINVAL); 165 165 return; 166 166 } … … 178 178 */ 179 179 dprintf("Received VFS info has bad size.\n"); 180 ipc_answer_ fast_0(callid, EINVAL);181 ipc_answer_ fast_0(rid, EINVAL);180 ipc_answer_0(callid, EINVAL); 181 ipc_answer_0(rid, EINVAL); 182 182 return; 183 183 } … … 190 190 if (!fs_info) { 191 191 dprintf("Could not allocate memory for FS info.\n"); 192 ipc_answer_ fast_0(callid, ENOMEM);193 ipc_answer_ fast_0(rid, ENOMEM);192 ipc_answer_0(callid, ENOMEM); 193 ipc_answer_0(rid, ENOMEM); 194 194 return; 195 195 } 196 196 link_initialize(&fs_info->fs_link); 197 197 198 rc = ipc_data_deliver(callid, & call, &fs_info->vfs_info, size);198 rc = ipc_data_deliver(callid, &fs_info->vfs_info, size); 199 199 if (rc != EOK) { 200 200 dprintf("Failed to deliver the VFS info into our AS, rc=%d.\n", 201 201 rc); 202 202 free(fs_info); 203 ipc_answer_ fast_0(callid, rc);204 ipc_answer_ fast_0(rid, rc);203 ipc_answer_0(callid, rc); 204 ipc_answer_0(rid, rc); 205 205 return; 206 206 } … … 210 210 if (!vfs_info_sane(&fs_info->vfs_info)) { 211 211 free(fs_info); 212 ipc_answer_ fast_0(callid, EINVAL);213 ipc_answer_ fast_0(rid, EINVAL);212 ipc_answer_0(callid, EINVAL); 213 ipc_answer_0(rid, EINVAL); 214 214 return; 215 215 } … … 227 227 futex_up(&fs_head_futex); 228 228 free(fs_info); 229 ipc_answer_ fast_0(callid, EEXISTS);230 ipc_answer_ fast_0(rid, EEXISTS);229 ipc_answer_0(callid, EEXISTS); 230 ipc_answer_0(rid, EEXISTS); 231 231 return; 232 232 } … … 249 249 futex_up(&fs_head_futex); 250 250 free(fs_info); 251 ipc_answer_ fast_0(callid, EINVAL);252 ipc_answer_ fast_0(rid, EINVAL);251 ipc_answer_0(callid, EINVAL); 252 ipc_answer_0(rid, EINVAL); 253 253 return; 254 254 } 255 255 fs_info->phone = IPC_GET_ARG3(call); 256 ipc_answer_ fast_0(callid, EOK);256 ipc_answer_0(callid, EOK); 257 257 258 258 dprintf("Callback connection to FS created.\n"); … … 268 268 ipc_hangup(fs_info->phone); 269 269 free(fs_info); 270 ipc_answer_ fast_0(callid, EINVAL);271 ipc_answer_ fast_0(rid, EINVAL);270 ipc_answer_0(callid, EINVAL); 271 ipc_answer_0(rid, EINVAL); 272 272 return; 273 273 } … … 283 283 ipc_hangup(fs_info->phone); 284 284 free(fs_info); 285 ipc_answer_ fast_0(callid, EINVAL);286 ipc_answer_ fast_0(rid, EINVAL);285 ipc_answer_0(callid, EINVAL); 286 ipc_answer_0(rid, EINVAL); 287 287 return; 288 288 } … … 291 291 * Commit to read-only sharing the PLB with the client. 292 292 */ 293 ipc_answer_ fast(callid, EOK, (ipcarg_t) plb,293 ipc_answer_2(callid, EOK, (ipcarg_t) plb, 294 294 (ipcarg_t) (AS_AREA_READ | AS_AREA_CACHEABLE)); 295 295 … … 302 302 */ 303 303 fs_info->fs_handle = (int) atomic_postinc(&fs_handle_next); 304 ipc_answer_ fast_1(rid, EOK, (ipcarg_t) fs_info->fs_handle);304 ipc_answer_1(rid, EOK, (ipcarg_t) fs_info->fs_handle); 305 305 306 306 futex_up(&fs_head_futex);
Note:
See TracChangeset
for help on using the changeset viewer.
