avoid storing SUCCESS-PLUS uuid when it is the remote uuid
This is slightly belt and suspenders, but nothing guarantees that the peer avoids including its uuid in the SUCCESS-PLUS list as it's supposed to. And while it probably doesn't matter if the location log is updated redundantly, let's not find out.
This commit is contained in:
parent
7bbd822a17
commit
a6a04b7e5e
3 changed files with 6 additions and 5 deletions
|
@ -549,7 +549,7 @@ copyToRemote' repo r st@(State connpool duc _ _ _) key file meterupdate
|
||||||
, giveup "remote does not have expected annex.uuid value"
|
, giveup "remote does not have expected annex.uuid value"
|
||||||
)
|
)
|
||||||
| Git.repoIsSsh repo =
|
| Git.repoIsSsh repo =
|
||||||
P2PHelper.store (gitconfig r)
|
P2PHelper.store (uuid r) (gitconfig r)
|
||||||
(Ssh.runProto r connpool (return Nothing))
|
(Ssh.runProto r connpool (return Nothing))
|
||||||
key file meterupdate
|
key file meterupdate
|
||||||
|
|
||||||
|
|
|
@ -33,8 +33,8 @@ type ProtoConnRunner c = forall a. P2P.Proto a -> ClosableConnection c -> Annex
|
||||||
-- the pool when done.
|
-- the pool when done.
|
||||||
type WithConn a c = (ClosableConnection c -> Annex (ClosableConnection c, a)) -> Annex a
|
type WithConn a c = (ClosableConnection c -> Annex (ClosableConnection c, a)) -> Annex a
|
||||||
|
|
||||||
store :: RemoteGitConfig -> ProtoRunner (Maybe [UUID]) -> Key -> AssociatedFile -> MeterUpdate -> Annex ()
|
store :: UUID -> RemoteGitConfig -> ProtoRunner (Maybe [UUID]) -> Key -> AssociatedFile -> MeterUpdate -> Annex ()
|
||||||
store gc runner k af p = do
|
store remoteuuid gc runner k af p = do
|
||||||
let sizer = KeySizer k (fmap (toRawFilePath . fst3) <$> prepSendAnnex k)
|
let sizer = KeySizer k (fmap (toRawFilePath . fst3) <$> prepSendAnnex k)
|
||||||
let bwlimit = remoteAnnexBwLimitUpload gc <|> remoteAnnexBwLimit gc
|
let bwlimit = remoteAnnexBwLimitUpload gc <|> remoteAnnexBwLimit gc
|
||||||
metered (Just p) sizer bwlimit $ \_ p' ->
|
metered (Just p) sizer bwlimit $ \_ p' ->
|
||||||
|
@ -44,7 +44,8 @@ store gc runner k af p = do
|
||||||
-- to be stored on additional UUIDs,
|
-- to be stored on additional UUIDs,
|
||||||
-- so record those.
|
-- so record those.
|
||||||
forM_ fanoutuuids $ \u ->
|
forM_ fanoutuuids $ \u ->
|
||||||
logChange k u InfoPresent
|
when (u /= remoteuuid) $
|
||||||
|
logChange k u InfoPresent
|
||||||
Just Nothing -> giveup "Transfer failed"
|
Just Nothing -> giveup "Transfer failed"
|
||||||
Nothing -> remoteUnavail
|
Nothing -> remoteUnavail
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ chainGen addr r u rc gc rs = do
|
||||||
{ uuid = u
|
{ uuid = u
|
||||||
, cost = cst
|
, cost = cst
|
||||||
, name = Git.repoDescribe r
|
, name = Git.repoDescribe r
|
||||||
, storeKey = store gc protorunner
|
, storeKey = store u gc protorunner
|
||||||
, retrieveKeyFile = retrieve gc protorunner
|
, retrieveKeyFile = retrieve gc protorunner
|
||||||
, retrieveKeyFileCheap = Nothing
|
, retrieveKeyFileCheap = Nothing
|
||||||
, retrievalSecurityPolicy = RetrievalAllKeysSecure
|
, retrievalSecurityPolicy = RetrievalAllKeysSecure
|
||||||
|
|
Loading…
Add table
Reference in a new issue