git-annex/Annex
Joey Hess 10d3b7fc62
Fix reversion introduced in 6.20171214 that caused concurrent transfers to incorrectly fail with "transfer already in progress".
Avoid creating transfer info file before transfer lock is created and
locked.

The wrong order for one thing caused transfer info to be overwritten
when a transfer was already in progress.

But worse, it caused checkTransfer to see the transfer info,
and so lock the transfer lock in order to verify the transfer was not in
progress. Which in a concurrent situation, prevented the transferrer
from locking the transfer lock, so it failed with "transfer already in
progress".

Note that the transferinfo command does not lock the transfer lock
before creating the transfer info. But, that's only run after
recvkey is running, and recvkey does lock the transfer lock, so that
seems more or less ok. (Other than being a super complicated legacy mess
that the P2P code has mostly obsoleted now.)

This commit was supported by the NSF-funded DataLad project.
2018-03-14 18:55:34 -04:00
..
Branch Unneded constraint 2016-01-28 12:34:07 -04:00
Content Improve startup time for commands that do not operate on remotes 2018-01-09 16:22:07 -04:00
LockPool enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
MetaData Add day to metadata when annex.genmetadata is enabled. 2017-10-25 15:11:38 -04:00
View remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Action.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
AdjustedBranch.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
AutoMerge.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
BloomFilter.hs Another redundant constraint 2016-01-28 12:34:07 -04:00
Branch.hs annex.merge-annex-branches 2018-02-22 14:25:32 -04:00
BranchState.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
CatFile.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
ChangedRefs.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
CheckAttr.hs annex.largefiles can be configured in .gitattributes too 2016-02-02 15:18:17 -04:00
CheckIgnore.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Concurrent.hs fix process and FD leak 2017-09-29 22:36:08 -04:00
Content.hs force verification when resuming download 2018-03-13 14:50:49 -04:00
Difference.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Direct.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
DirHashes.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
Drop.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Environment.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Export.hs Fix exporting of non-annexed files to external special remotes. 2017-10-30 12:47:13 -04:00
FileMatcher.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
Fixup.hs Improve startup time for commands that do not operate on remotes 2018-01-09 16:22:07 -04:00
GitOverlay.hs Optimisations to git-annex branch query and setting, avoiding repeated copies of the environment. 2016-09-29 13:36:48 -04:00
HashObject.hs Sped up git-annex add in direct mode and v6 by using git hash-object --batch. 2016-03-14 15:58:46 -04:00
Hook.hs post-recive hook to make updateInstead work in direct mode and adjusted branches 2017-02-17 14:04:43 -04:00
Ingest.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
Init.hs .noannex file 2017-12-13 14:34:32 -04:00
InodeSentinal.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Journal.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Link.hs more lambda-case conversion 2017-12-05 15:00:50 -04:00
Locations.hs youtube-dl working 2017-11-29 16:40:32 -04:00
LockFile.hs Ssh password prompting improved when using -J 2017-05-11 17:36:03 -04:00
LockPool.hs pid locking configuration and abstraction layer for git-annex 2015-11-12 17:50:34 -04:00
MakeRepo.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
MetaData.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
Multicast.hs fix build with old ghc 2017-05-10 14:39:15 -04:00
Notification.hs reorg 2017-12-14 11:26:59 -04:00
NumCopies.hs more lambda-case conversion 2017-12-05 15:00:50 -04:00
Path.hs remove ifdef for older base than git-annex.cabal allows 2017-12-14 13:45:50 -04:00
Perms.hs more lambda-case conversion 2017-12-05 15:00:50 -04:00
Queue.hs withAltRepo needs a separate queue of changes 2016-06-03 13:57:00 -04:00
ReplaceFile.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
SpecialRemote.hs more lambda-case conversion 2017-12-05 15:00:50 -04:00
Ssh.hs Better ssh connection warmup when using -J for concurrency. 2018-03-07 17:30:14 -04:00
TaggedPush.hs sync: Added --cleanup, which removes local and remote synced/ branches. 2017-09-28 14:58:48 -04:00
Transfer.hs Fix reversion introduced in 6.20171214 that caused concurrent transfers to incorrectly fail with "transfer already in progress". 2018-03-14 18:55:34 -04:00
UpdateInstead.hs sync hack to make updateInstead work on eg FAT 2017-02-17 15:21:52 -04:00
Url.hs fold Build/SysConfig.hs into BuildInfo via include 2017-12-14 12:46:57 -04:00
UUID.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
VariantFile.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
VectorClock.hs avoid accidental Show of VectorClock 2017-08-14 14:51:54 -04:00
Version.hs Support using v3 repositories without upgrading them to v5. 2016-10-05 16:53:09 -04:00
View.hs Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors. 2016-11-15 21:29:54 -04:00
Wanted.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
WorkTree.hs more lambda-case conversion 2017-12-05 15:00:50 -04:00
YoutubeDl.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00