15 Mar, 2011

1 commit

  • This patch prepares p9_fcall structure for zero copy. Added
    fields send the payload buffer information to the transport layer.
    In addition it adds a 'private' field for the transport layer to
    store mapped/pinned page information so that it can be freed/unpinned
    during req_done.

    This patch also creates trans_common.[ch] to house helper functions.
    It adds the following helper functions.

    p9_release_req_pages - Release pages after the transaction.
    p9_nr_pages - Return number of pages needed to accomodate the payload.
    payload_gup - Translates user buffer into kernel pages.

    Signed-off-by: Venkateswararao Jujjuri
    Signed-off-by: Eric Van Hensbergen

    Venkateswararao Jujjuri (JV)
     

23 Oct, 2008

1 commit


18 Oct, 2008

3 commits

  • Remove depricated conv functions which have been replaced with new
    protocol routines.

    This patch also reworks the one instance of the file-system code which
    directly calls conversion routines (to accomplish unpacking dirreads).

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • One of the current debug options allows users to get a verbose dump of fcalls.
    This isn't really necessary as correctly parsed protocol frames can be printed
    as part of the code in the client functions. The consolidated printfcalls
    structure would require new entries to be added for every extension. This
    patch removes the debug print methods and their use.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • This adds a new protocol processing support code based on Anthony Liguori's
    9p library code. This code performs protocol marshalling/unmarshalling using
    printf like strings to represent protocol elements. It is my intent to use
    them to replace the current functions in conv.c as well as the
    p9_create_* functions.

    This should make the client implementation much more clear, and also make it
    much easier to add new protocol extensions by limiting the number of places
    in which changes need to be made.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     

15 May, 2008

1 commit

  • There was some cleanup issues during early mount which would trigger
    a kernel bug for certain types of failure. This patch reorganizes the
    cleanup to get rid of the bad behavior.

    This also merges the 9pnet and 9pnet_fd modules for the purpose of
    configuration and initialization. Keeping the fd transport separate
    from the core 9pnet code seemed like a good idea at the time, but in
    practice has caused more harm and confusion than good.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     

07 Feb, 2008

1 commit

  • This merges the mux.c (including the connection interface) with trans_fd
    in preparation for transport API changes. Ultimately, trans_fd will need
    to be rewritten to clean it up and simplify the implementation, but this
    reorganization is viewed as the first step.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     

24 Oct, 2007

1 commit


18 Oct, 2007

2 commits

  • A sysctl method was added to enable and disable debugging levels. After
    further review, it was decided that there are better approaches to doing this
    and the sysctl methodology isn't really desirable. This patch removes the
    sysctl code from 9p.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • This patch abstracts out the interfaces to underlying transports so that
    new transports can be added as modules. This should also allow kernel
    configuration of transports without ifdef-hell.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     

15 Jul, 2007

2 commits