-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
all: Add copy-on-write filesystem support (fixes #4271) #6746
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few "organisational" nits.
We gud? |
Write a docs page on roughly what the different configs do? |
Also, when we add this in the change log, we should mention that this is an option you need to enable. |
I volunteered to test in the other PR. Would love to give this a spin. If the documentation's not done yet, could you briefly state what I need to tweak to enable the changes? I add a 'copyRangeMethod' to the folder options and set it to 'copy_file_range'? I seem to see options standard, ioctl, copy_file_range, sendfile, and all, but I'm not sure I'm looking in the right place or what these behaviours are. |
If you start a master build you'll see new option in folder config after the first save, change that option to one of the mechanisms as appropriate. |
* main: (218 commits) gui, man, authors: Update docs, translations, and contributors lib/protocol: Use sha256.Sum256 in NewDeviceID (syncthing#6775) lib/scanner: Fix Validate docs (syncthing#6776) build: Set CGO_ENABLED=0 by default, except on specific platforms (syncthing#6768) gui, lib/api: Add more version info to about dialog (syncthing#6773) lib/model: Use right db snap when scanning recvonly folder (syncthing#6769) build: Change version strings to not have plus in them (ref syncthing#6758) (syncthing#6760) lib/model: Don't ignore stat failure in performFinish (syncthing#6766) lib/fs: Add support for Windows duplicate extents (syncthing#6764) lib/model: Don't stay scanning forever on fail (syncthing#6761) gui, lib/ignore: Handle editing ignores with error (fixes syncthing#5425) (syncthing#6757) lib: Print nicely rounded durations (syncthing#6756) all: Add copy-on-write filesystem support (fixes syncthing#4271) (syncthing#6746) lib/rand: Various minor fixes (syncthing#6752) lib/db: Improve error message on meta inconsistency (syncthing#6751) lib/db: Use explicit byte type for type prefixes (syncthing#6754) gui, man, authors: Update docs, translations, and contributors lib/model: Check dir before deletion when pulling (syncthing#6741) build: Update integration tests and add to build.go (syncthing#6744) cmd/stdiscosrv: Don't abuse wrong header (syncthing#6749) ...
Any docs on this available? I would like to point to a page with some guidance so that we can get some testing early in the 1.8.0 RC cycle as I expect we might need iterations on this... |
Yes, it's in the folder section. |
Right... Mind if I copy/move it to a separate advanced section, to make it easier to link & refer to? |
Sure, whatevs. |
This pull request (commit 4812fd3) fails compile on ppc64le (compiling on Alpine).
|
There was a follow up PR in 1.8.0 that probably fixes this. |
Thank you Audrius. I just re-attempted to build the latest (main branch) with git log showing the latest commit being:
''' It also fails in the same way at this level. Is the PR you are thinking of uncommitted? If so can you give me a link to it? I'd be happy to give it a try. |
For people finding this ticket in the future. You can find the docs for the feature here: https://docs.syncthing.net/advanced/folder-copyrangemethod.html |
I can't merge into my own branch and have a PR here, so opening the full thing.
Only the last commit is interesting here.