Conversation
Close src fd on dst open failure. Close dst fd on chown failure. Signed-off-by: David Disseldorp <ddiss@suse.de>
copy_file() doesn't check close() return values. Perform an explicit fsync() of the copy destination to catch any writeback errors. Signed-off-by: David Disseldorp <ddiss@suse.de>
selinux attrs provided by -s are only handled when the copy destination is LKL based (cptofs). Indicate this in the usage message and return an error if cpfromfs is provided -s instead of ignoring it. It may make sense to add corresponding host fsetxattr() calls, but the security namespace is privileged, which will likely cause issues. Signed-off-by: David Disseldorp <ddiss@suse.de>
cptofs behaves differently depending on whether argv[0] includes cptofs or not, i.e. when run as cpfromfs. install (from coreutils) resolves symlinks during binary installation, so add an explicit ln call to the install rule instead of adding cpfromfs to progs-y and reusing the existing build rule. Signed-off-by: David Disseldorp <ddiss@suse.de>
If the user explicitly requests an copy destination selinux attribute via -s, then we should fail if the fsetattr returns an error. Signed-off-by: David Disseldorp <ddiss@suse.de>
On short write, copy_file() currently attempts to write any remainder from a source buffer address *after* the full read length. I've not actually triggered this code-path, but it's a theoretical buffer overrun. Fix it by incrementing the buffer address by the amount written instead of the read amount. Link: lkl#646 Signed-off-by: David Disseldorp <ddiss@suse.de>
With cptofs the destination is LKL, so lkl_strerror(ret) should be used instead of strerror(errno). Vice-versa for cpfromfs. Signed-off-by: David Disseldorp <ddiss@suse.de>
mkdir_dst() already squashes EEXIST errors, so chown will continue to be triggered in that case. Signed-off-by: David Disseldorp <ddiss@suse.de>
The new cptofs.sh wrapper attempts basic file and directory tree copies between lkl and host via cptofs and cpfromfs. Signed-off-by: David Disseldorp <ddiss@suse.de>
Test Results110 files + 4 110 suites +4 9m 49s ⏱️ -41s For more details on these errors, see this check. Results for commit 206bdc7. ± Comparison against base commit d0f76a7. This pull request removes 30 and adds 8 tests. Note that renamed tests count towards both. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft for now, until I better understand the LKL virtio-blk I/O errors when running
cptofs.sh -t xfs