mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-22 17:35:55 +03:00
ostree-repo: Make the lock with a long-lasting FD
glnx_make_lock_file requires that the dfd passed in survives the lifetime of the lock. Since dfd_iter.fd gets cleaned up after the function returns, this isn't the case. dfd_iter.fd should be equivalent to tmpdir_dfd, since we iter on ".", and that survives past the function, so just use that instead. Closes: #591 Approved by: cgwalters
This commit is contained in:
parent
fbce608177
commit
fd6ba80d07
@ -4869,7 +4869,7 @@ _ostree_repo_allocate_tmpdir (int tmpdir_dfd,
|
||||
|
||||
/* We put the lock outside the dir, so we can hold the lock
|
||||
* until the directory is fully removed */
|
||||
if (!_ostree_repo_try_lock_tmpdir (dfd_iter.fd, dent->d_name,
|
||||
if (!_ostree_repo_try_lock_tmpdir (tmpdir_dfd, dent->d_name,
|
||||
file_lock_out, &did_lock,
|
||||
error))
|
||||
goto out;
|
||||
|
@ -51,7 +51,7 @@ fi
|
||||
newstagepath=$(ls -d sysroot/ostree/repo/tmp/staging-${NEW_TEST_BOOTID}-*)
|
||||
assert_has_dir "${newstagepath}"
|
||||
env OSTREE_BOOTID=${NEW_TEST_BOOTID} ${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
newstagepath=$(ls -d sysroot/ostree/repo/tmp/staging-${NEW_TEST_BOOTID}-*)
|
||||
newstagepath=$(echo sysroot/ostree/repo/tmp/staging-${NEW_TEST_BOOTID}-*)
|
||||
assert_not_has_dir "${stagepath}"
|
||||
assert_not_has_dir "${newstagepath}"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user