ostree/tests
Giuseppe Scrivano 127d8bb846 commit: add logic for .payload-link
When a new object is added to the repository, create a
$PAYLOAD-SHA256.payload-link symlink file as well.  The target of the
symlink is the checksum of the object that was added the repository.

Whenever we add a new object file, in addition to lookup if the file is
already present with the same checksum we also check if an object with
the same payload is in the repository.

If a file with the same payload is already present in the repository, we
copy it with `glnx_regfile_copy_bytes` that internally attempts to
create a reflink (ioctl (..., FICLONE, ..)) to the target file if the
file system supports it.  This enables to have objects that share the
payload but have a different inode and xattrs.

By default the payload-link-threshold value is G_MAXUINT64 that disables
the feature.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #1443
Approved by: cgwalters
2018-03-07 18:28:59 +00:00
..
coccinelle Add Coccinelle usage: one for blacklisting, one for patch collection 2017-03-30 19:19:54 +00:00
gpg-verify-data gpg: Regenerate test data for test-gpg-verify-result 2015-03-19 12:43:04 -04:00
gpghome tests: Port to glib-tap.mk, make `make check` run all of the tests 2016-03-03 08:50:19 -05:00
installed commit: add logic for .payload-link 2018-03-07 18:28:59 +00:00
.gitignore create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
admin-test.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
archive-test.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
basic-test.sh repo/refs: Clean up error prefixing 2018-03-06 14:01:39 +00:00
bootloader-entries-crosscheck.py Use Python 3 for tests 2018-02-23 22:49:06 +00:00
coccinelle.sh Add Coccinelle usage: one for blacklisting, one for patch collection 2017-03-30 19:19:54 +00:00
corrupt-repo-ref.js Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
fah-deltadata-new.tar.xz tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
fah-deltadata-old.tar.xz tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
get-byte-order.c tests: Assert that byte-order is swapped on LE but not BE CPUs 2018-01-04 12:32:47 +00:00
glib.supp glib.supp: Suppress g_task -> thread leaks 2016-07-28 10:10:17 +00:00
grub2-entries-crosscheck.py tests: Add a test script to cross-check loader config vs GRUB2 2015-05-28 14:21:30 -04:00
libostreetest.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
libostreetest.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
libtest-core.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
libtest.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ostree-grub-generator Introducing ostree-grub-generator 2016-04-04 14:19:35 +00:00
ostree-path-traverse.tar.gz tests: Add a test case for path traversal in a dirtree 2018-01-12 19:38:34 +00:00
ostree.supp tests: Modernize valgrind infrastructure 2016-06-09 21:10:35 +00:00
pre-endian-deltas-repo-big.tar.xz deltas: Heuristically detect endianness for older deltas 2016-02-26 08:19:01 -05:00
pre-endian-deltas-repo-little.tar.xz deltas: Heuristically detect endianness for older deltas 2016-02-26 08:19:01 -05:00
pull-test.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
pull-test2.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
readdir-rand.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
repo-finder-mount.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-2.sh sysroot: Add concept of deployment "pinning" 📌 2018-02-26 19:06:59 +00:00
test-admin-deploy-bootid-gc.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-clean.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-etcmerge-cornercases.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-grub2.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-karg.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-switch.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-syslinux.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-deploy-uboot.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-instutil-set-kargs.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-locking.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-pull-deploy-commit.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-pull-deploy-split.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-upgrade-endoflife.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-upgrade-not-backwards.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-admin-upgrade-unconfigured.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-archivez.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-auto-summary.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-basic-c.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-basic-root.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-basic-user-only.sh Use Python 3 for tests 2018-02-23 22:49:06 +00:00
test-basic-user.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-basic.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-bloom.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-bsdiff.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-checksum.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-commit-sign.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-concurrency.py Use Python 3 for tests 2018-02-23 22:49:06 +00:00
test-core.js Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-corruption.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-create-usb.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-delta.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-demo-buildsystem.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-export.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-find-remotes.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-fsck-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-gpg-signed-commit.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-gpg-verify-result.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-help.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-init-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-keyfile-utils.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-libarchive-import.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-libarchive.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-local-pull-depth.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-local-pull.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-lzma.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-mock-gio.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-mock-gio.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-mutable-tree.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-no-initramfs.sh Add support for devicetree files alongside the kernel and initramfs 2018-01-16 22:54:53 +00:00
test-oldstyle-partial.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-ot-opt-utils.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-ot-tool-util.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-ot-unix-utils.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-parent.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-prune-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-prune.sh prune: Error if --static-deltas-only without --delete-commit 2018-03-05 17:39:35 +00:00
test-pull-bare.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-bareuser.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-bareuseronly.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-c.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-commit-only.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-contenturl.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-corruption.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-depth.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-large-metadata.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-localcache.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-metalink.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-mirror-summary.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-mirrorlist.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-override-url.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-repeated.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-resume.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-subpath.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-summary-sigs.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull-untrusted.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-pull2-bareuseronly.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-refs-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-refs.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-remote-add-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-remote-add.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-remote-cookies.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-remote-gpg-import.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-remote-headers.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-remotes-config-dir.js Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-repo-finder-avahi.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-repo-finder-config.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-repo-finder-mount-integration.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-repo-finder-mount.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-repo.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-reset-nonlinear.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-rofiles-fuse.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-rollsum-cli.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-rollsum.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-sizes.js Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-summary-collections.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-summary-update.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-summary-view.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-switchroot.sh test-switchroot.sh: skip if no busybox 2017-06-27 21:45:34 +00:00
test-symbols.sh Release 2018.2 2018-02-15 14:44:11 +00:00
test-sysroot-c.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-sysroot.js Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-varint.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
test-xattrs.sh Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00