Skip to content
Commits on May 28, 2011
  1. @garlick
  2. @garlick

    Prep for 1.0-pre33 tag

    garlick committed
Commits on May 27, 2011
  1. @garlick

    Fix deadlock when handling a P9_TFLUSH (issue 44)

    garlick committed
    This was a regression introduced recently with the threadpool
    reorganization.  A lock was not dropped on successful flushing of
    a request, resulting in server deadlock.  Added regression test
    kern/t35 for this.
    
    Also added a test user/t15 for another tflush problem (issue 45)
  2. @garlick
  3. @garlick
Commits on May 25, 2011
  1. @garlick

    Prep for 1.0-pre32 tag.

    garlick committed
  2. @garlick

    Rework stats available for monitoring.

    garlick committed
    Drop wthreads file.
    
    Change tpools file so it includes refcount and op counts for every .L
    request type.
  3. @garlick

    Fix bugs where tpool lock could be taken twice.

    garlick committed
    Threadpool lock could be taken twice when manipulating the
    request queue 1) when dropping a connection and 2) when
    handling a P9_TFLUSH.
  4. @garlick

    Clean up kernel tests

    garlick committed
    Fix a compile warning introduced last night in kconjoin.c.
    
    Require a .exp file for each test and add them for t32, t33.
    Put postmark and dbench output in separate files.
  5. @garlick
  6. @garlick
Commits on May 24, 2011
  1. @garlick

    Prep for 1.0-pre31 tag

    garlick committed
  2. @garlick

    Make threadmode=aname the default.

    garlick committed
    Remove the --threadmode option and do threadpool-per-aname
    unconditionally.  Otherwise, test coverage is a problem and
    monitoring tools can't leverage the different way stats are
    collected (currently) in the two models.
  3. @garlick

    Fix ignored open flags (issue 43)

    garlick committed
    diod_lcreate was calling creat(2) which hardwires flags to
    O_CREAT|O_WRONLY|O_TRUNC.  Call open(2) instead.
  4. @garlick

    Fix fsync returning EBADF on directory (issue 42)

    garlick committed
    Fsync on a directory was failing because the fid's fd was used
    unconditionally.  Use fsync(dirfd(f->dir)) on directories.
    
    Added regression test kern/t34.
Commits on May 23, 2011
  1. @garlick

    Change some libnpclient convinence functions

    garlick committed
    Drop npc_pread_all, npc_pwrite_all, npc_read_all, npc_write_all.
    
    And npc_get (read whole file) and npc_put (write whole file).
  2. @garlick
  3. @garlick
  4. @garlick
Commits on May 21, 2011
  1. @garlick

    Add -U,--sqaushuser USER option

    garlick committed
  2. @garlick
  3. @garlick

    Add dbench and postmark tests

    garlick committed
Commits on May 20, 2011
  1. @garlick

    Added fstest to test suite.

    garlick committed
Commits on May 19, 2011
  1. @garlick

    Prep for 1.0-pre30 tag

    garlick committed
  2. @garlick
  3. @garlick
  4. @garlick

    Add threadmode=aname option (issue 26)

    garlick committed
    By default, the server starts one threadpool as before.  However,
    if diod is started with --threadmode=aname, then a new threadpool
    is started up for each unique aname (except 'ctl' which is handled
    with the default threadpool)
    
    This solves issue 26, where a down NFS server mounted with -ohard
    that is being forwarded through diod could hang the threadpool,
    preventing access to other file systems.
    
    Thread pools, with private request queues, are created/selected at
    attach time and a reference to the thread pool is attached to the fid.
    Cloned fids inherit a reference back to the thread pool selected at
    attach time.  Thread pools are destroyed when their reference count
    goes to zero (all fids are clunked = file system is unmounted).
  5. @garlick

    Add default diodcat options

    garlick committed
     -h locahost
     -a ctl
     version
    
    So it can be run as a "server alive" debugging tool with minimal
    command line pain, per suggestion from Jim Silva.
Commits on May 18, 2011
  1. @garlick

    More groundwork for thread scheduling

    garlick committed
    Create a new data structure, Nptpool for a thread pool, and give
    the Npsrv a linked listed of them.  At this point create only one,
    but change all points of access so they can work with multiple tpools.
  2. @garlick

    Associate aname with each request for thread scheduling.

    garlick committed
    Create fid->aname and look up each request's fid before enqueueing
    for the server.  This allows us to, for example, create a separate
    queue and worker thread pool for each forwarded file system, so when
    one gets stuck the entire server doesn't deadlock.
Commits on May 17, 2011
  1. @garlick
  2. @garlick
  3. @garlick
Commits on May 16, 2011
  1. @garlick

    Prep for 1.0-pre29 tag

    garlick committed
  2. @garlick

    Rename synthetic namespace to ctl and add exports

    garlick committed
    Instead of mounting synthetic file system with nil aname, use
    aname=ctl (issue 38).
    
    Fix a bug in diodmount where aname was used uninitialized in
    initial pre-auth mount from user space.  Add CFLAGS=-Werror to
    spec file build so compiler warnings get noticed when building
    a package.
    
    In diodmount, clunk the afid, if any, when attach fails.
    
    Rename internal names from np_syn_* to np_ctl_*.
    Rename np_ctl_mkdir to np_ctl_adddir to avoid confusion with op
    callback that would have the same name.
    
    Add quotes around all Npstr's in trace output, so empty strings
    stand out from white space, then fix up regression tests that were
    expecting the non-quoted output.
    
    Implement ctl/exports
    
    Make it possible for clients, etc. to access the list of exported
    file systems through ctl/exports.  Modify auto.diod to use this
    to map automounter keys.
    
    In the process, split export handling code in diod/ops.c out to
    diod/exp.c.
    
    Also fixed an incidental config problem where defaults were not
    restored when config file values that were previously set explicitly,
    were commented out and the server sent a SIGHUP.
    
    Minor cleanup.
Something went wrong with that request. Please try again.