Changeset ceb890b in mainline
- Timestamp:
- 2011-07-26T19:59:36Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 75aa59a
- Parents:
- aa865ee (diff), 5bb9907 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/fs/libfs.c
raa865ee rceb890b 93 93 rc = vfs_out_ops->mounted(devmap_handle, opts, &index, &size, &lnkcnt); 94 94 95 if (rc == EOK) // FIXME: size is 64-bit 96 async_answer_3(rid, EOK, index, size, lnkcnt); 95 if (rc == EOK) 96 async_answer_4(rid, EOK, index, LOWER32(size), UPPER32(size), 97 lnkcnt); 97 98 else 98 99 async_answer_0(rid, rc); … … 156 157 rc = vfs_out_ops->write(devmap_handle, index, pos, &wbytes, &nsize); 157 158 158 if (rc == EOK) // FIXME: nsize is 64-bit159 async_answer_ 2(rid, EOK, wbytes, nsize);159 if (rc == EOK) 160 async_answer_3(rid, EOK, wbytes, LOWER32(nsize), UPPER32(nsize)); 160 161 else 161 162 async_answer_0(rid, rc); … … 434 435 * Do not release the FS node so that it stays in memory. 435 436 */ 436 async_answer_ 3(rid, rc, IPC_GET_ARG1(answer), IPC_GET_ARG2(answer),437 IPC_GET_ARG3(answer) );437 async_answer_4(rid, rc, IPC_GET_ARG1(answer), IPC_GET_ARG2(answer), 438 IPC_GET_ARG3(answer), IPC_GET_ARG4(answer)); 438 439 } 439 440 -
uspace/srv/vfs/vfs_ops.c
raa865ee rceb890b 76 76 vfs_node_t *mr_node; 77 77 fs_index_t rindex; 78 size_t rsize;78 aoff64_t rsize; 79 79 unsigned rlnkcnt; 80 80 async_exch_t *exch; … … 146 146 147 147 rindex = (fs_index_t) IPC_GET_ARG1(answer); 148 rsize = ( size_t) IPC_GET_ARG2(answer);149 rlnkcnt = (unsigned) IPC_GET_ARG 3(answer);148 rsize = (aoff64_t) MERGE_LOUP32(IPC_GET_ARG2(answer), IPC_GET_ARG3(answer)); 149 rlnkcnt = (unsigned) IPC_GET_ARG4(answer); 150 150 151 151 mr_res.triplet.fs_handle = fs_handle; … … 229 229 if (rc == EOK) { 230 230 rindex = (fs_index_t) IPC_GET_ARG1(answer); 231 rsize = (size_t) IPC_GET_ARG2(answer); 232 rlnkcnt = (unsigned) IPC_GET_ARG3(answer); 231 rsize = (aoff64_t) MERGE_LOUP32(IPC_GET_ARG2(answer), 232 IPC_GET_ARG3(answer)); 233 rlnkcnt = (unsigned) IPC_GET_ARG4(answer); 233 234 234 235 mr_res.triplet.fs_handle = fs_handle; … … 795 796 ipc_call_t answer; 796 797 if (read) { 797 rc = async_data_read_forward_ 3_1(fs_exch, VFS_OUT_READ,798 file->node->devmap_handle, file->node->index, file->pos,799 &answer);798 rc = async_data_read_forward_4_1(fs_exch, VFS_OUT_READ, 799 file->node->devmap_handle, file->node->index, 800 LOWER32(file->pos), UPPER32(file->pos), &answer); 800 801 } else { 801 802 if (file->append) 802 803 file->pos = file->node->size; 803 804 804 rc = async_data_write_forward_ 3_1(fs_exch, VFS_OUT_WRITE,805 file->node->devmap_handle, file->node->index, file->pos,806 &answer);805 rc = async_data_write_forward_4_1(fs_exch, VFS_OUT_WRITE, 806 file->node->devmap_handle, file->node->index, 807 LOWER32(file->pos), UPPER32(file->pos), &answer); 807 808 } 808 809 … … 821 822 /* Update the cached version of node's size. */ 822 823 if (rc == EOK) 823 file->node->size = IPC_GET_ARG2(answer); 824 file->node->size = MERGE_LOUP32(IPC_GET_ARG2(answer), 825 IPC_GET_ARG3(answer)); 824 826 fibril_rwlock_write_unlock(&file->node->contents_rwlock); 825 827 }
Note:
See TracChangeset
for help on using the changeset viewer.