Changeset 58898d1d in mainline for uspace/srv/vfs/vfs_pager.c


Ignore:
Timestamp:
2017-03-24T20:31:54Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e9b2534
Parents:
c9e3692
Message:

Remove VFS_IN_SEEK from VFS

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_pager.c

    rc9e3692 r58898d1d  
    5050        int rc;
    5151
    52         vfs_file_t *file = vfs_file_get(fd);
    53         if (!file) {
    54                 async_answer_0(rid, ENOENT);
    55                 return;
    56         }
    57 
    5852        page = as_area_create(AS_AREA_ANY, page_size,
    5953            AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE,
     
    6155
    6256        if (page == AS_MAP_FAILED) {
    63                 vfs_file_put(file);
    6457                async_answer_0(rid, ENOMEM);
    6558                return;
     
    7164        };
    7265
    73         file->pos = offset;
    74         vfs_file_put(file);
    75 
    7666        size_t total = 0;
     67        aoff64_t pos = offset;
    7768        do {
    78                 rc = vfs_rdwr_internal(fd, true, &chunk);
     69                rc = vfs_rdwr_internal(fd, pos, true, &chunk);
    7970                if (rc != EOK)
    8071                        break;
     
    8273                        break;
    8374                total += chunk.size;
     75                pos += chunk.size;
    8476                chunk.buffer += chunk.size;
    8577                chunk.size = page_size - total;
Note: See TracChangeset for help on using the changeset viewer.