Skip to content
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

Efficient change detection using NTFS USN numbers #209

Closed
m5x opened this issue Jul 20, 2018 · 4 comments
Closed

Efficient change detection using NTFS USN numbers #209

m5x opened this issue Jul 20, 2018 · 4 comments
Labels
effort-high issue is likely to require >20h of effort, perhaps much more enhancement issue is a request for a feature, and not a defect impact-low low importance windows not applicable to systems other than Microsoft Windows wontfix maintainers choose not to work on this, but PR would still be considered

Comments

@m5x
Copy link

m5x commented Jul 20, 2018

Is there a technical reason why Unison does not use USN number or change journal on NTFS file system to efficiently detect changes and do not have to resort to comparing timestamps or scanning the full contents of all files every sync run?

@bcpierce00
Copy link
Owner

bcpierce00 commented Jul 21, 2018 via email

@m5x
Copy link
Author

m5x commented Jul 30, 2018

That's a surprising opinion. Checking timestamps involves rescanning of the whole tree every backup run (which is not efficient and in case of trees with millions of folders and files not even fast) but more importantly it's not reliable method at all. Timestamps are not changed in many scenarios (access through memory mapped files etc.) so full content scan must be periodically performed as well to make sure these files are backed up at least sometimes.

I am no expert on NTFS change journal but from what I can see other backup tools are doing I understood that it allows to detect changes without rescanning the whole tree and with such a reliability that full content scans are never needed anymore. If that's true it would make unison much more reliable and efficient with NTFS.

@gdt gdt added effort-high issue is likely to require >20h of effort, perhaps much more enhancement issue is a request for a feature, and not a defect impact-low low importance windows windows not applicable to systems other than Microsoft Windows and removed windows labels Sep 14, 2020
@gdt
Copy link
Collaborator

gdt commented May 4, 2022

I wonder how this relates to the concept of watcher programs, where there is an interface to tell unison about changes. I am not enthused about adding os-specific mechanisms to a program that tries to steer to POSIX, but someone building an NT-specific watcher that uses this feature seems useful.

Also, the issue of changes not being detected y the normal scan should be addressed separately; perhaps unison should, on systems that have changed files without mod time changes, rescan contents. (I am unclear on mmap/mod-times on unix.)

@gdt gdt added the wontfix maintainers choose not to work on this, but PR would still be considered label May 4, 2022
@gdt
Copy link
Collaborator

gdt commented Mar 23, 2023

Moved to https://github.com/bcpierce00/unison/wiki/Feature-Requests

(At this point it is difficult to have people even test on Windows, and no one working on unison is interested in OS-specific improvements.)

@gdt gdt closed this as completed Mar 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort-high issue is likely to require >20h of effort, perhaps much more enhancement issue is a request for a feature, and not a defect impact-low low importance windows not applicable to systems other than Microsoft Windows wontfix maintainers choose not to work on this, but PR would still be considered
Projects
None yet
Development

No branches or pull requests

3 participants