Changeset ed903174 in mainline for uspace/lib/libfs
- Timestamp:
- 2010-02-10T23:51:23Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e70edd1
- Parents:
- b32c604f
- Location:
- uspace/lib/libfs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libfs/libfs.c
rb32c604f red903174 37 37 #include "libfs.h" 38 38 #include "../../srv/vfs/vfs.h" 39 #include <macros.h> 39 40 #include <errno.h> 40 41 #include <async.h> … … 398 399 ipc_answer_0(rid, rc); 399 400 } else { 400 ipc_answer_5(rid, EOK, 401 fs_handle, dev_handle, 401 aoff64_t size = ops->size_get(fn); 402 ipc_answer_5(rid, fs_handle, 403 dev_handle, 402 404 ops->index_get(fn), 403 ops->size_get(fn), 405 LOWER32(size), 406 UPPER32(size), 404 407 ops->lnkcnt_get(fn)); 405 408 (void) ops->node_put(fn); … … 478 481 ipc_answer_0(rid, rc); 479 482 } else { 480 ipc_answer_5(rid, EOK, 481 fs_handle, dev_handle, 483 aoff64_t size = ops->size_get(fn); 484 ipc_answer_5(rid, fs_handle, 485 dev_handle, 482 486 ops->index_get(fn), 483 ops->size_get(fn), 487 LOWER32(size), 488 UPPER32(size), 484 489 ops->lnkcnt_get(fn)); 485 490 (void) ops->node_put(fn); … … 501 506 unsigned int old_lnkcnt = ops->lnkcnt_get(cur); 502 507 rc = ops->unlink(par, cur, component); 503 ipc_answer_5(rid, (ipcarg_t) rc, fs_handle, dev_handle, 504 ops->index_get(cur), ops->size_get(cur), old_lnkcnt); 508 509 if (rc == EOK) { 510 aoff64_t size = ops->size_get(cur); 511 ipc_answer_5(rid, fs_handle, dev_handle, 512 ops->index_get(cur), LOWER32(size), UPPER32(size), 513 old_lnkcnt); 514 } else 515 ipc_answer_0(rid, rc); 516 505 517 goto out; 506 518 } … … 533 545 rc = ops->node_open(cur); 534 546 535 ipc_answer_5(rid, rc, fs_handle, dev_handle, 536 ops->index_get(cur), ops->size_get(cur), 537 ops->lnkcnt_get(cur)); 547 if (rc == EOK) { 548 aoff64_t size = ops->size_get(cur); 549 ipc_answer_5(rid, fs_handle, dev_handle, 550 ops->index_get(cur), LOWER32(size), UPPER32(size), 551 ops->lnkcnt_get(cur)); 552 } else 553 ipc_answer_0(rid, rc); 554 538 555 } else 539 556 ipc_answer_0(rid, rc); … … 602 619 dev_handle_t dev_handle = IPC_GET_ARG1(*request); 603 620 fs_index_t index = IPC_GET_ARG2(*request); 621 604 622 fs_node_t *fn; 605 int rc; 606 607 rc = ops->node_get(&fn, dev_handle, index); 623 int rc = ops->node_get(&fn, dev_handle, index); 608 624 on_error(rc, answer_and_return(rid, rc)); 609 625 … … 614 630 615 631 rc = ops->node_open(fn); 616 ipc_answer_3(rid, rc, ops->size_get(fn), ops->lnkcnt_get(fn), 632 aoff64_t size = ops->size_get(fn); 633 ipc_answer_4(rid, rc, LOWER32(size), UPPER32(size), ops->lnkcnt_get(fn), 617 634 (ops->is_file(fn) ? L_FILE : 0) | (ops->is_directory(fn) ? L_DIRECTORY : 0)); 618 635 -
uspace/lib/libfs/libfs.h
rb32c604f red903174 76 76 */ 77 77 fs_index_t (* index_get)(fs_node_t *); 78 size_t (* size_get)(fs_node_t *);78 aoff64_t (* size_get)(fs_node_t *); 79 79 unsigned int (* lnkcnt_get)(fs_node_t *); 80 80 char (* plb_get_char)(unsigned pos);
Note:
See TracChangeset
for help on using the changeset viewer.