-
Notifications
You must be signed in to change notification settings - Fork 40
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
[🐛 | Bug]: Created datetime is updated on file changes #5694
Comments
That's expected when the application does not write the file in-place but instead write to a temporary file and then move it to overwrite the original. Many applications such as On linux, I can reproduce this behavior with My opinion is that parsec should probably do the same, i.e only show the What do you think? |
I understand the write-to-tmp-then-move but, if this is done by Parsec code, there must be a way to avoid updating the creation date (which is stored in the Personally, I do not use creation date that much but it might be useful or important for some users. Of course if there is a technical constraint (or if it is not that easy to implement), then I agree we should only display the |
I'm against doing more than what other file systems do. IMO the behavior we implement should be as close as what we expect from ext4. However there's also something called |
I just checked and on windows there are also 4 fields:
So it might make sense to rethink our data model to properly manage those 4 dates instead of |
I agree with you, but this IS already supported in both NTFS and ext4 ( So, what I am trying to say is that our Parsec FS should probably handle file operations in a way that creation time (stored in manifest) is preserved during write (or rename or move) so that we can then pass this information to the underlying OS file system. However, I understand it might not be that easy to implement in our concurrent model (we've discussed it briefly with @touilleMan yesterday).
Yep. Better to rethink the data model carefully, instead of quickly patching for this bug. So what do you think we should do with the current column?
|
I ran some more tests and after updating a text file with ± stat test
File: test
Size: 18 Blocks: 8 IO Block: 4096 regular file
Device: 10303h/66307d Inode: 16777928 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ vinmic) Gid: ( 1000/ vinmic)
Access: 2023-11-09 16:57:57.736770701 +0100
Modify: 2023-11-09 16:57:57.740770797 +0100
Change: 2023-11-09 16:57:57.756771179 +0100
Birth: 2023-11-09 16:57:57.736770701 +0100 So the brith time is not preserved by the write-to-tmp-then-move approach. I guess we want to run more tests, especially on windows to see if |
Yep, what I meant is that ext4 supports the notion of a creation time (the But on write, it clearly depends on the editor: On the other hand, |
Closing this as won't fix for the v2 branch. See #8944 for V3. |
Parsec version tested on:
2.16.0
Platforms tested on:
Linux
Bug description:
The
Created
datetime is always equal toUpdated
datetime.When file is updated, both datetimes are updated.
Relevant output:
No response
The text was updated successfully, but these errors were encountered: