-
Notifications
You must be signed in to change notification settings - Fork 668
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
Upload after download when using FAT32 or exFAT storage. #3103
Comments
CC @ogoffart |
Because file system like FAT only have two second accuracy and would result in a upload if the mtime in the database is not the same as the one that was downloaded Issue #3103
@ogoffart @guruz What's the opinion of the OC design team? |
What about checking the signature of the partition and enable these particular mtime tricks only for sync folders sitting on FAT32? The only caveat of this approach in general are cross-mounted partitions (e.g. accessing a windows partition from linux). |
I don't see how this is a problem.
This is not supported.
That's not possible. |
Most synchronizing programs are facing the same issue.Examples: Second Copy: Beyond Compare has the following options to fine-tune the timestamp criteria: |
Closed? Thanks a lot for solving so far.
In case of Syncing "manually" a large portion of files like discussed at: https://forum.owncloud.org/viewtopic.php?f=24&t=20656 |
Description
I have to connect clients that are quit inexperienced computer users. To prevent that they give away the OC shared data when they change their PC, I have decided to have the shared data stored on USB memory sticks. For interchangeability reasons this type of memory is by default formatted in FAT32.
In FAT32 the file modification time (mtime) is unfortunately stored as a local time with a time resolution of 2 secs.
This causes 2 problems:
This issue has meanwhile been solved in issue Files from FAT32 volume are uploaded again after Daylight Saving Time (DST) change #2438 by ignoring a local mtime change of not only 0 secs, but also ignoring a difference of exactly +3600 and -3600 secs.
It was decided not to have this +3600 and -3600 secs ignorance optionally set by a check box in the client's "General Settings" menu.
Possible solutions for the "even seconds" problem
However, users not knowing about this FAT32 problem will sooner or later be confronted with the re-uploading of files. Therefore the OC client could be modified such that mtimes with odd seconds will always be rounded up to even seconds when storing the files.
But is this acceptable for all OC users?
This comes on top of the accepted +3600 or -3600 seconds offset needed for the DST.
So the local mtime change is detected as follows:
a. mtime change 0 secs --> file did not change
(solved in issue 2438)b. mtime change +3600 secs --> file did not change
(solved in issue 2438)c. mtime change -3600 secs --> file did not change
(solved in issue 2438)d. mtime change +1 sec and the new mtime is even --> file did not change
e. mtime change +3601 secs and the new mtime is even --> file did not change
f. mtime change -3599 secs and the new mtime is even --> file did not change
g. mtime change has another value --> the file has been changed
Unfortunately the time stamp seconds for the mtime are still put into 4 bits (http://ntfs.com/exfat-time-stamp.htm), so the time resolution is still in even seconds.
Change request
If yes, can solution 1 (always only even seconds) or solution 2d, 2e, 2f, 2g be implemented?
Or are there other options?
Steps to reproduce
The file will be uploaded to the server and downloaded from the server to client 2.
At client 2 the mtime will increase by 1 sec and the file will synced back to client 1.
On FAT32 +/- 1 hour will be neglected. More hours will result in re-uploading all files.
On exFAT changing over more timezones will not give any re-uploading.
The text was updated successfully, but these errors were encountered: