1. 05 Apr, 2013 1 commit
    • Kirk Webb's avatar
      Overhaul of blockstore vm setup/teardown/cleanup. · dde74ba0
      Kirk Webb authored
      Simplified several things - got rid of some unnecessary checks that were
      actually causing problems.  Moved IP alias creation to appropriate
      library entry points (since they are now ephemeral constructs).  Fixed
      vlan interface creation/destruction to better support lans.  Changed how
      the vnode's state (existence, running, stopped, etc.) are checked.  This
      should fix stale resource cleanup and is also more lightweight.  Finally,
      keep the lock even while retrying deallocation when volume is busy.
      dde74ba0
  2. 27 Feb, 2013 1 commit
  3. 30 Jan, 2013 1 commit
    • Kirk Webb's avatar
      Refactor generic vnode setup code a bit for OS independence · f7c51ea6
      Kirk Webb authored
      In order to hook in via the "generic vnode" path for setting up
      blockstores under FreeNAS, I've done a bit of shuffling in order to
      make things more OS-independent and reusable.
      
      * mkvnode.pl
      
      Moved to clientside/tmcc/common.  OS-dependent bits (really only some
      IPtables stuff) abstracted, and moved to tmcc/linux/libvnode.pm.
      
      * libvnode.pm
      
      Moved generic vnode stuff to a new module.  Moved miscellaneous
      utility functions to a new module.  Left OS-specific stuff.  Not
      really sure if what is left should be merged into libsetup/liblocsetup
      or left here - deferring this decision for now.
      
      * libgenvnode.pm
      
      New module currently containing generic vnode stuff.  Currently, the
      VNODE_* predicates are here.
      
      * libutil.pm
      
      New module containing miscellaneous utility functions (fatal,
      mysystem, mysystem2, setState, etc.)
      
      Files referencing libvnode.pm have been updated, as have the relevant
      Makefiles.
      f7c51ea6