fsck --from remote: Avoid downloading a key if it would go over the annex.diskreserve limit.

This commit is contained in:
Joey Hess 2015-04-18 14:23:34 -04:00
parent 8489057e8d
commit 8d685768d3
2 changed files with 6 additions and 2 deletions

View file

@ -135,14 +135,16 @@ performRemote key file backend numcopies remote =
let cleanup = liftIO $ catchIO (removeFile tmp) (const noop)
cleanup
cleanup `after` a tmp
getfile tmp =
ifM (Remote.retrieveKeyFileCheap remote key tmp)
getfile tmp = ifM (checkDiskSpace (Just tmp) key 0)
( ifM (Remote.retrieveKeyFileCheap remote key tmp)
( return True
, ifM (Annex.getState Annex.fast)
( return False
, Remote.retrieveKeyFile remote key Nothing tmp dummymeter
)
)
, return False
)
dummymeter _ = noop
startKey :: Incremental -> Key -> NumCopies -> CommandStart

2
debian/changelog vendored
View file

@ -20,6 +20,8 @@ git-annex (5.20150410) UNRELEASED; urgency=medium
* fsck --from remote: When bad content is found in the remote,
and the local repo does not have a copy of the content, preserve
the bad content in .git/annex/bad/ to avoid further data loss.
* fsck --from remote: Avoid downloading a key if it would go over
the annex.diskreserve limit.
-- Joey Hess <id@joeyh.name> Thu, 09 Apr 2015 20:59:43 -0400