#
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
|