Ignore:
Timestamp:
2017-04-05T18:10:39Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
93ad8166
Parents:
39f892a9 (diff), 2166728 (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.
Message:

Merge from lp:~jakub/helenos/vfs-2.5-cherrypick

This merge cherry-picks some of the changesets from Jiri Zarevucky's:

lp:~zarevucky-jiri/helenos/vfs-2.5

and then continues independently, yet sometime in a similar vein.

Roughly speaking, Jiri's branch is merged entirely up to its revision
1926 and then cherry-picked on and off until its revision 1965. Among
these changes are:

  • relativization of the API,
  • client-side roots,
  • server-side mounts,
  • inbox for passing arbitrary files from parent to child,
  • some streamlining and cleanup.

Additional changes include:

  • addressing issues introduced by the above changes,
  • client-side I/O cursors (file positions),
  • all HelenOS file system APIs begin with the vfs_ prefix and can be used after including vfs/vfs.h,
  • removal of some POSIX-ish headers and definitions,
  • additional cleanup.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/cmds/modules/cmp/cmp.c

    r39f892a9 r368ee04  
    2828
    2929#include <errno.h>
    30 #include <fcntl.h>
    3130#include <getopt.h>
    3231#include <mem.h>
     
    7978        char buffer[2][CMP_BUFLEN];
    8079        ssize_t offset[2];
     80        aoff64_t pos[2] = {};
    8181
    8282        for (int i = 0; i < 2; i++) {
    83                 fd[i] = open(fn[i], O_RDONLY);
     83                fd[i] = vfs_lookup_open(fn[i], WALK_REGULAR, MODE_READ);
    8484                if (fd[i] < 0) {
    85                         rc = errno;
     85                        rc = fd[i];
    8686                        printf("Unable to open %s\n", fn[i]);
    8787                        goto end;
     
    9494                        ssize_t size;
    9595                        do {
    96                                 size = read(fd[i], buffer[i] + offset[i],
     96                                size = vfs_read(fd[i], &pos[i],
     97                                    buffer[i] + offset[i],
    9798                                    CMP_BUFLEN - offset[i]);
    9899                                if (size < 0) {
    99                                         rc = errno;
     100                                        rc = size;
    100101                                        printf("Error reading from %s\n",
    101102                                            fn[i]);
     
    115116end:
    116117        if (fd[0] >= 0)
    117                 close(fd[0]);
     118                vfs_put(fd[0]);
    118119        if (fd[1] >= 0)
    119                 close(fd[1]);
     120                vfs_put(fd[1]);
    120121        return rc;
    121122}
Note: See TracChangeset for help on using the changeset viewer.