0.35
Highlights:
-
(Bad news) Previously, the build cache’s optional large file support (i.e.
ch-image --cache-large
set to a non-default value) used hard links to bring large files and out of images. This assumes that hard links are copy-on-write, which they are not. Therefore, use of this feature was likely to corrupt the cache. We now copy large files instead of hard linking them, which is often a significant performance impact. (#1740) -
(Good news)
ch-image
now uses kernel fast paths for file copying when available. In particular, some filesystems offer a “reflink” operation that copies only metadata (notably BTRFS, XFS, and recent ZFS). This should provide a general performance increase, but in particular lets the build cache’s large file operations remain fast meta-data only operations. See the “Best practices” document for a detailed discussion. (#1742) -
(Good news)
ch-image build
supports a new non-standard Dockerfile instruction,RSYNC
(#1708). This copies files from the context directory into the image withrsync(1)
semantics, which are better defined thanCOPY
and provide more control, notably for symlinks. -
(Good news) Interrupting
ch-image
with SIGINT or SIGTERM (notably, control-C) is now much less likely to leave the storage directory in an invalid date (#1518).
What else is new:
ch-image build
andch-run
:$HOME
is always set now (#1687)ch-image
: new argument--quiet
to reduce verbosity (#1613)configure --libexecdir
and similar arguments now work (#683)- miscellaneous bug fixes & improvements in:
More details: https://github.com/hpc/charliecloud/milestone/41?closed=1
Even more details: v0.34...v0.35