lib/commit: Add a copy fastpath for imports
This fixes up the last of the embarassing bits I saw from the stack trace in: https://github.com/ostreedev/ostree/issues/1184 We had a hardlink fast path, but that doesn't apply across devices, which occurs in two notable cases: - Installer ISO with local repo - Tools like pungi that copy the repo to a local snapshot Obviously there are a lot of subtleties here around things like the bare-user-only conversions as well as exactly what data we copy. I think to get better test coverage we may want to add `pull-local --no-hardlink` or so. Closes: #1197 Approved by: jlebon
This commit is contained in:
1 parent
3a08f7159d
commit
8a7a359709
2 files changed
+190
-72
No files matched your search
@@ -25,3 +25,17 @@ run_tmp_webserver $(pwd)/repo
|
||||
ostree --repo=bare-repo init --mode=bare-user
|
||||
ostree --repo=bare-repo remote add origin --set=gpg-verify=false $(cat ${test_tmpdir}/httpd-address)
|
||||
ostree --repo=bare-repo pull --disable-static-deltas origin ${host_nonremoteref}
|
||||
|
||||
rm bare-repo repo -rf
|
||||
|
||||
# Try copying the host's repo across a mountpoint for direct
|
||||
# imports.
|
||||
cd ${test_tmpdir}
|
||||
mkdir tmpfs mnt
|
||||
mount --bind tmpfs mnt
|
||||
cd mnt
|
||||
ostree --repo=repo init --mode=bare
|
||||
ostree --repo=repo pull-local /ostree/repo ${host_commit}
|
||||
ostree --repo=repo fsck
|
||||
cd ..
|
||||
umount mnt
|
||||
Reference in new issue
Block a user