Rev 4357 | Rev 4370 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4357 | Rev 4368 | ||
|---|---|---|---|
| Line 214... | Line 214... | ||
| 214 | } |
214 | } |
| 215 | } else { |
215 | } else { |
| 216 | ipc_answer_0(rid, ENOSPC); |
216 | ipc_answer_0(rid, ENOSPC); |
| 217 | } |
217 | } |
| 218 | goto out; |
218 | goto out; |
| 219 | } else if (lflag & L_PARENT) { |
- | |
| 220 | /* return parent */ |
- | |
| 221 | ipc_answer_5(rid, EOK, fs_handle, dev_handle, |
- | |
| 222 | ops->index_get(cur), ops->size_get(cur), |
- | |
| 223 | ops->lnkcnt_get(cur)); |
- | |
| 224 | } |
219 | } |
| 225 | ipc_answer_0(rid, ENOENT); |
220 | ipc_answer_0(rid, ENOENT); |
| 226 | goto out; |
221 | goto out; |
| 227 | } |
222 | } |
| 228 | 223 | ||
| Line 291... | Line 286... | ||
| 291 | ipc_answer_0(rid, ENOENT); |
286 | ipc_answer_0(rid, ENOENT); |
| 292 | goto out; |
287 | goto out; |
| 293 | } |
288 | } |
| 294 | 289 | ||
| 295 | /* handle hit */ |
290 | /* handle hit */ |
| 296 | if (lflag & L_PARENT) { |
- | |
| 297 | ops->node_put(cur); |
- | |
| 298 | cur = par; |
- | |
| 299 | par = NULL; |
- | |
| 300 | if (!cur) { |
- | |
| 301 | ipc_answer_0(rid, ENOENT); |
- | |
| 302 | goto out; |
- | |
| 303 | } |
- | |
| 304 | } |
- | |
| 305 | if (lflag & L_UNLINK) { |
291 | if (lflag & L_UNLINK) { |
| 306 | unsigned old_lnkcnt = ops->lnkcnt_get(cur); |
292 | unsigned old_lnkcnt = ops->lnkcnt_get(cur); |
| 307 | int res = ops->unlink(par, cur); |
293 | int res = ops->unlink(par, cur); |
| 308 | ipc_answer_5(rid, (ipcarg_t)res, fs_handle, dev_handle, |
294 | ipc_answer_5(rid, (ipcarg_t)res, fs_handle, dev_handle, |
| 309 | ops->index_get(cur), ops->size_get(cur), old_lnkcnt); |
295 | ops->index_get(cur), ops->size_get(cur), old_lnkcnt); |