1. 05 Mar, 2012 1 commit
  2. 11 Oct, 2011 2 commits
    • Ryan Jackson's avatar
      Merge imagezip ext4 code into extfs code · b8d79ac6
      Ryan Jackson authored
      Merge the ext4 support for imagezip into the extfs code.  There's no
      real reason to keep it separate, since ext4 is backward-compatible
      with ext3 and ext2.
      All of the macro definitions in extfs.c were changed from EXT2_* or
      EXT3_* to EXT4_*.  The primary reason for this is that while ext4 is
      backward compatible, the data structures have been extended and some
      of the definitions needed to change to handle them.  Some things that
      were constant before (block group descriptor sizes, for example) are
      now dynamic and must be calculated from other fields in the
      Since imagezip and frisbee don't support 64-bit block numbers, ext4
      filesystems that are larger than 2 TB (assuming 512-byte sectors) are
      not supported.  These can be detected by examining the
      feature_incompat field of the superblock.  Imagezip will fail if the
      user tries to compress one of these filesystems.
    • Mike Hibler's avatar
      Add -Z option to zero free space included in the image due to -F. · 5a02dd31
      Mike Hibler authored
      Previously, this "internal free space" was whatever garbage happened to
      be on the disk we were imaging. By zeroing, we eliminate any leakage of
      information from the source disk and also allow the image to compress just
      a tad (1-4%) better.
      Why isn't this the default? Eh...no good reason, other than that this whole
      squish-out-small-free-ranges-to-allow-longer-writes optimization should be
      done by the client and should not be encoded in the image.
  3. 08 Oct, 2011 2 commits
    • Mike Hibler's avatar
      Revert "Adjust the set of unix gids used for a download server." · baba7478
      Mike Hibler authored
      This reverts commit fc89eb38.
      Checked in a bunch of crap that was unrelated.
    • Mike Hibler's avatar
      Adjust the set of unix gids used for a download server. · fc89eb38
      Mike Hibler authored
      When downloading an image, start the frisbeed process with the minimum set of
      gids necessary to access the image. This includes the unix gid of the
      project that the image is in and, optionally, the unix gid of the project
      subgroup if the image is part of one.
      Previously, we just use the gid set of the uid of the swapper of the
      experiment. Not only was this excessive, but it might also not include the
      gids needed in the case of a "global" image that is not in the world-readable
      /usr/testbed/images directory.
  4. 02 Jun, 2011 1 commit
  5. 31 May, 2011 1 commit
    • Mike Hibler's avatar
      Added compat option and assorted cleanups. · d8de4d6a
      Mike Hibler authored
      Added WITH_V3COMPAT to make sure that we can still generated V3 images
      (for other sites) if checksum/encryption is not used.
      Try to clean up the command line options some. Be more consistent by putting
      generated uuid into a file instead of just spitting it out on stderr. Make
      sure that if the decryption specifies signing and/or encryption that we
      require the image to have that info. Add some more assertions. (Re)distinguish
      checksums from signed-checksums.
  6. 04 May, 2011 2 commits
  7. 22 Oct, 2010 2 commits
  8. 20 Jul, 2010 1 commit
  9. 06 Jul, 2010 1 commit
  10. 02 Jul, 2010 2 commits
  11. 21 Jun, 2010 1 commit
  12. 17 Jun, 2010 9 commits
  13. 16 Oct, 2009 1 commit
  14. 28 Sep, 2009 1 commit
    • Mike Hibler's avatar
      A variety of stop-gap changes: · f0885af0
      Mike Hibler authored
       * lint: compile cleanly under newer GCC and on 64-bit OS
       * rename SUBBLOCKSIZE to CHUNKSIZE since that is what it is
       * collect some more stats, primarily for frisbee event collection code
       * add stupid hacky bubble-sort workaround but don't define it by default
         cuz it is stupid...and hacky...but it allows mike to make an image of
         his home machine before he dies of old age
       * tweaks to libntfs version support
  15. 11 Sep, 2009 1 commit
    • Mike Hibler's avatar
      Add '-f' "filemode" option to imagezip for creating image files from regular · 3b61ce12
      Mike Hibler authored
      files (as opposed to from disk partitions).  This is almost identical to
      rawmode, but also knows how to handle inputs that are not a multiple of the
      sector size.  Imagezip will pad out the final sector, but uses a special
      relocation entry (SHORTSECTOR) to tell imageunzip/frisbee how many bytes
      to write in that final sector.
      This is "pretty much" backward compatible.  If an old version of imageunzip
      encounters the unknown new relocation entry, it will ignore it, resulting
      in imageunzip just writing out the additional pad bytes to the output file.
      This may or may not screw over the resulting output file.
      Also fixed some lint found by GCC 4.2 on FBSD7.
  16. 17 Dec, 2008 1 commit
  17. 13 Mar, 2006 1 commit
  18. 06 Jan, 2006 1 commit
  19. 27 Dec, 2005 1 commit
    • Mike Hibler's avatar
      Imagezip groks (BSD) inodes. Since I have not enabled the "more dubious" · a24cc15b
      Mike Hibler authored
      optimization, this will only affect UFS2 filesystems.
      > /*
      >  * If DO_INODES is defined, we look at the inode list in each cylinder group
      >  * and try to make further space reducing optimizations.  If there are
      >  * uninitialized inodes (UFS2 only) we add those blocks to the skip list.
      >  *
      >  * If CLEAR_FREE_INODES is also defined, we make a more dubious optimization.
      >  * Initialized but free inodes will go into the image data, but we first zero
      >  * everything except the (usually randomized) generation number in an attempt
      >  * to reduce the compressed size of the data.
      >  */
      > #define DO_INODES
      > #undef CLEAR_FREE_INODES
  20. 16 Dec, 2005 1 commit
  21. 06 Dec, 2005 1 commit
    • Mike Hibler's avatar
      Minor tweak to free block handling: wait til we have accumulated and merged · dc7b2389
      Mike Hibler authored
      all free blocks before throwing out ones that are too small (-F).  There
      were a fair number of cases where a small free chunk was adjacent to a larger
      one and we were tossing out the smaller.  This does increase the risk that
      we will run out of memory building the free list.  If that happens, we can
      make an incremental cleanup pass.
  22. 03 Dec, 2005 1 commit
  23. 03 Aug, 2005 1 commit
  24. 27 Jan, 2005 1 commit
  25. 10 Jan, 2005 1 commit
    • Mike Hibler's avatar
      Experimental support for Sid's checkpointer. · e753d3e9
      Mike Hibler authored
      The checkpoint driver can return a list of blocks that have been modified
      since its startup.  If you use "imagezip -C /dev/shd0 -s 1 /dev/ad0 foo.ndz"
      imagezip will make an ioctl call on the shd device to get the modified
      blocks it needs to save (rather than parsing the filesystem).  It then
      creates an image using those blocks.
      The end result should be an "incremental" image that can be put down on
      the disk by frisbee after the original image has been loaded.
      This is all a theory right now (including the ioctl :-) but should get
      tested RSN.
  26. 15 Nov, 2004 1 commit
    • Mike Hibler's avatar
      Move a little closer to being pedantic ansi: · ebc4c413
      Mike Hibler authored
      - add some missing casts
      - avoid void * arithmetic
      - change "q" printf formats to "ll"
      Still not there yet by any means.  Note that the version of the NTFS library
      we use won't compile with "-pedantic -ansi" so those are not part of the
      default CFLAGS.
  27. 19 Apr, 2004 1 commit