The following fixes have gone into master and also been MFC'd to the release branch (commitids for master):
b642a6c1f5bbb295e29522d99c65038f459288ac kernel - Fix degenerate cluster_write() cases 66030e2b4635359f2d84f23298c9d8ce1e6af5da HAMMER VFS - Only set B_CLUSTEROK on 64K buffers This fixes a serious performance issue which we introduced when we turned on the cluster buf code in HAMMER. The code inadvertently removed a file EOF check that caused fragmentory writes to the end of a file to immediately flush to disk, greatly reducing filesystem performance by causing excessive writes to disk as well as temporary blocking conditions due to the I/O in progress. Since HAMMER does allocate-on-flush this also caused bloated filesystem space usage. The space would be recovered automatically by the nightly hammer cleanup code but in the mean time could eat a huge amount of space (4x to 25x) when writing out a file. There was also a 'zeros in file' bug reported for HAMMER which I believe these commits should get rid of. -Matt Matthew Dillon <dil...@backplane.com>