Commits on Feb 11, 2012
  1. prep for 1.0-pre64

    garlick committed Feb 11, 2012
  2. Fix a race when setting req->flushreq

    garlick committed Feb 11, 2012
    We set req->flushreq when walking the work queue holding srv->lock.
    The original reply is sent while req is still in the work queue,
    thus there is a race where flushreq could be set just after the
    postprocess function tests it and the reply discarded.  Defer the
    flushreq reply until after the req has been removed from the work queue.
  3. Change default rwdepth from 32 to 1.

    garlick committed Feb 11, 2012
    Avoid tickling a bug in the kernel client until we fix it.
  4. Tack flushes on to the original request

    garlick committed Feb 11, 2012
    This avoids the case where an Rflush is returned for Treaddir (say)
    and then a Tclunk is sent for the Treaddir's fid causing readdir to
    core dump.  (the refcount on the fid doesn't protect the DIR * from
    being closed/freed underneath.
  5. Avoid dynamically allocating rlerror response

    garlick committed Feb 11, 2012
    This simplifies error handling a bit since in handling an out
    of memory error, we are less likely to get another one while sending
    the error response.
Commits on Feb 10, 2012
  1. Eliminiate extra server request queue

    garlick committed Feb 10, 2012
    This removes the 'D' state in dtop request view.
    Completed, unreplied requests will included in the 'R' (running) state.
Commits on Feb 9, 2012
  1. Note any EBADF errors from close when fid is freed

    garlick committed Feb 9, 2012
    Just chased down a double-close problem and this would have helped.
    Should never happen unless something is wrong with file descriptor
  2. prep for 1.0-pre63 tag

    garlick committed Feb 9, 2012
Commits on Feb 8, 2012
  1. Don't attempt to fdopendir() every Tlopened file

    garlick committed Feb 8, 2012
    This appears to have eliminated some spurious EBADF errors that were
    occuring when running a recursive find in a diod-backed file system.
  2. Fix fid accounting on flushed Tclunk/Tremove/Twalk

    garlick committed Feb 8, 2012
    These operations, if successfully flushed, need to be undone
    with regard to fid accounting at least.  See Tflush(9p)
  3. Add 'loosefid' flag to work around buggy client

    garlick committed Feb 8, 2012
    v9fs does not currently handle a flushed Tclunk/Tremove properly.
    It should behave as though these ops were never sent, meaning the fid
    remains valid and cannot be reused.  However it unconditionally frees
    them internally.  This must be fixed, however it is ueful to be able
    to interoperate with older clients, so we create this workaround and
    enable it by default.
Commits on Feb 1, 2012
Commits on Jan 31, 2012
Commits on Jan 27, 2012
  1. Properly handle a flushed walk.

    garlick committed Jan 27, 2012
    Also, further improvements reducing the race between clunked
    walk/clunk/remove and walk newfid.  Introduce the a blocking version
    of np_fid_create that makes the server tolerant of either ordering
    of flush response and flushed request retirement, with fid accounting.
Commits on Jan 25, 2012
  1. prep for 1.0-pre62 tag

    garlick committed Jan 25, 2012
Commits on Jan 19, 2012
Commits on Jan 18, 2012
  1. prep for 1.0-pre61 tag

    garlick committed Jan 18, 2012
  2. prep for 1.0-pre60 tag

    garlick committed Jan 18, 2012
  3. Autoreconfig

    garlick committed Jan 18, 2012
  4. Build with tcmalloc

    garlick committed Jan 18, 2012
Commits on Jan 13, 2012
  1. prep for 1.0-pre59 tag

    garlick committed Jan 13, 2012