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