History log of /fuchsia/zircon/system/ulib/fs-host/include/fs-host/common.h
Revision Date Author Comments
# ce9a75ae 31-Aug-2018 Sean Klein <smklein@google.com>

[blobfs] Avoid double-counting duplicated blobs

During the image generation process, space is pre-calculated for the
underlying image based on the manifest of blobs which have been
provided. Since blobs are content-addressable and naturally duplicated
by blobfs, it is possible that multiple blobs with the same contents
will consume less space than they would individually.

This patch modifies the host-side tools to pre-generate the merkle
trees (once), find the unique set of blobs within them, and only
allocate / attempt to add blobs after they have been deduplicated.

This shrinks the generated "fvm.blk" image from 736 MB -> 394 MB
for the Astro build.

Test: host FVM tests, manually building
ZX-2141 #comment In Progress
US-441 #comment In Progress

Change-Id: I1ccdab91e74691e607f27419582dadbe7ced97e9


# 9c635db9 17-Jul-2018 James Tucker <raggi@google.com>

[blobfs] add support for depfile output

depfile is a GN & ninja facility for tracking build target inputs that are
not otherwise declared in GN action "inputs" or "sources". During the GN
build of the blobfs images, the actions produce a manifest file that lists
all of the contents of the blob image, but do not list the merkleroots of
those files. As such, ninja does not determine that there is a need to
rebuild the blobfs unless it has some other file that declares the contents
of the manifest are inputs to the blobfs output file. Producing a depfile is
a normal solution to this problem.

Test: manual. Added depfile parameter to the build rule, ran the build and
observed correct depfile output. Modified a blobfs input and observed ninja
rebuild the blobfs target.

ZX-2378

Change-Id: Idd7500c6bbc8d798e185caf3147a527f8753e827


# 4f024dc5 16-Apr-2018 Tricia Landers <planders@google.com>

[blobfs] [minfs] [host] Combine common functionality between tools

De-dupe code between the minfs and blobfs host side tools as much as
possible. Additionally, add minfs support for adding manifests on create.

ZX-2033 #done

Change-Id: I0ece73d37927e6589ccd7d1ce235fc484668a221