More Hammer fixups

Tomohiro Kusumi has been creating a near-constant stream of bugfixes and cleanups to Hammer for quite some time. I don’t often link to it, because they are incremental improvements and hard to linkblog, so to speak. In an effort to make up for this deficit, I do want to draw attention to his two recent commits: “Make hammer commands print root volume path“, and “Print volume list after volume-add|del“.  Small changes, but this is what makes complex systems usable.

Hammer not show

The ‘hammer show’ command can be used to dump the B-Tree structure of a Hammer volume, and CRC errors can be spotted.  It’s rare that anyone would need it, but if you do, this dumped information will include file hierarchy information.

If that makes you a bit nervous to repost any of that information when talking about it in public, Tomohiro Kusumi has added an ‘obfuscate’ option to ‘hammer show’ that does just that – it hides path information from the debug output.

No atime in Hammer

Hammer now defaults to ‘noatime’, meaning the date and time of last access are not updated on every file action.  Note that creation and modification date and time are still recorded.  This will help with speed and disk activity.

This may cause a problem with any software expecting this to change – mutt, possibly?  We will find out.  This change was done after the 4.4 branch, so it’s not in the current release of DragonFly.

HAMMER2 root mounts and live dedup too

HAMMER2 recently gained the ability to be used as the root mount for your DragonFly system.  Live deduplication of data is also now possible, which means fast copy operations, less space used, and no need to wait for an overnight batch process to do it.  If you want to try it, you need a bleeding edge DragonFly system and the WANT_HAMMER2 option.  It’s still not ready for production use, so don’t try it with any data you want to keep.

Many Hammer 1 updates, and credit

I don’t note it enough, but Tomohiro Kusumi has been making constant updates to HAMMER, the version we have now.  Often they are the sort of update that makes the code more readable, or fixes possible problems, and so on.  Very essential, but hard to post about it.  In any case, I’m using his recent improvements to hammer volume-del to note his contributions, of which there are much more than the day’s worth I link here.