Changeset 58898d1d in mainline for uspace/srv/vfs/vfs_pager.c
- Timestamp:
- 2017-03-24T20:31:54Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8e9b2534
- Parents:
- c9e3692
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/vfs/vfs_pager.c
rc9e3692 r58898d1d 50 50 int rc; 51 51 52 vfs_file_t *file = vfs_file_get(fd);53 if (!file) {54 async_answer_0(rid, ENOENT);55 return;56 }57 58 52 page = as_area_create(AS_AREA_ANY, page_size, 59 53 AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE, … … 61 55 62 56 if (page == AS_MAP_FAILED) { 63 vfs_file_put(file);64 57 async_answer_0(rid, ENOMEM); 65 58 return; … … 71 64 }; 72 65 73 file->pos = offset;74 vfs_file_put(file);75 76 66 size_t total = 0; 67 aoff64_t pos = offset; 77 68 do { 78 rc = vfs_rdwr_internal(fd, true, &chunk);69 rc = vfs_rdwr_internal(fd, pos, true, &chunk); 79 70 if (rc != EOK) 80 71 break; … … 82 73 break; 83 74 total += chunk.size; 75 pos += chunk.size; 84 76 chunk.buffer += chunk.size; 85 77 chunk.size = page_size - total;
Note:
See TracChangeset
for help on using the changeset viewer.