1. 01 Feb, 2016 2 commits
  2. 31 Jan, 2016 3 commits
    • Mike Hibler's avatar
      Rudiments of TRIM support in frisbee/imageunzip. · 3a477018
      Mike Hibler authored
      Consists of just a command line option right now!
      3a477018
    • Mike Hibler's avatar
      Add TRIM support to clientside of frisbee MFS. · 2f3b1c67
      Mike Hibler authored
      Currently this is done using the -E (erase) option to zapdisk to
      erase a partition or the entire disk.
      
      We run zapdisk before starting a frisbee load. Ultimately, I want
      TRIM support in frisbee proper (to erase rather than skip or zero
      free blocks), but erasing the entire disk might be a better option
      anyway (frisbee itself will benefit from the TRIMed disk).
      
      Notes:
      
      We only trim the disk when a node is in reloading. Didn't want to take
      a chance on having a user reload a partition on their disk and wind up
      getting the entire disk erased. That should not happen, but I didn't
      want to think through all the possibilities right now.
      
      Only works on FreeBSD right now. Linux MFS will still need to be modified.
      Just didn't want to track down how Linux does block erase right now.
      
      The clientside here is different than what is used on the Moonshots.
      On the Linux-based Moonshot MFS, we TRIM in slicefix by running fstrim
      on the root FS we just layed down. This used to be a good alternative
      back when the root FS occupied the entire disk, but now it won't work
      as well as we will only trim blocks from the first 6GB. Need to switch
      this over to the zapdisk (or frisbee) based TRIM.
      
      The server infrastructure on the Moonshots is the same: tmcc passes a
      TRIM=1 flags in "loadinfo" when the disk should be trimmed. So when to
      TRIM is based on the time since the last TRIM, and can now be specified
      site-wide, per-nodetype, or per-node.
      
      Currently, slicefix (x86 or ARM) doesn't do anything to the FS layed
      down to ensure that TRIM is done during the lifetime of the FS. Both
      FreeBSD and Linux have such options that can be set when the FS is
      created or added with tunefs. We need to think about this for mkextrafs
      and local blockstores as well.
      2f3b1c67
    • Mike Hibler's avatar
      Tweaks to TRIM reporting code. · f927aba6
      Mike Hibler authored
      Make the interval between TRIM operations a per nodetype (or per node)
      attribute instead of a global site variable. The sitevar will still be
      used to turn TRIM on or off globally.
      f927aba6
  3. 30 Jan, 2016 1 commit
  4. 29 Jan, 2016 12 commits
  5. 28 Jan, 2016 11 commits
  6. 27 Jan, 2016 11 commits