git-annex/Annex/Content
Joey Hess 9ff1c62a4d
fix race
If a pointer file is being populated and something modifies it at the
same time, there was a race there the modified file's InodeCache
could get added into the keys database.

Note that replaceFile normally renames the temp file into place, so the
inode cache caculated for the temp file will still be good. If it has to
fall back to a copy, the worktree file won't be put in the inode cache.
This has the same result as if the worktree file gets touched, and will
be handled the same way. Eg, when dropping, isUnmodified will do an
expensive comparison and notice that the worktree file does have the
same content, and so drop it.

This commit was supported by the NSF-funded DataLad project.
2018-08-22 15:22:52 -04:00
..
Direct.hs Improve startup time for commands that do not operate on remotes 2018-01-09 16:22:07 -04:00
LowLevel.hs split out modules from Annex.Content 2018-08-22 14:45:53 -04:00
PointerFile.hs fix race 2018-08-22 15:22:52 -04:00