diff options
author | 2011-03-23 17:57:10 -0400 | |
---|---|---|
committer | 2011-03-23 17:57:10 -0400 | |
commit | 6246b807f7df32877a87d906cfbe1ae26c51dd8e (patch) | |
tree | 00c38d74c2b4591ab0a68a807bb70c6044cde3f4 /Backend/File.hs | |
parent | ad08273ac5118f1faac539b53f1fa63908dc5656 (diff) |
migrate: Support migrating v1 SHA keys to v2 SHA keys with size information that can be used for free space checking.
Diffstat (limited to 'Backend/File.hs')
-rw-r--r-- | Backend/File.hs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Backend/File.hs b/Backend/File.hs index a6d42eabd..fb8a05255 100644 --- a/Backend/File.hs +++ b/Backend/File.hs @@ -29,6 +29,7 @@ import Types import UUID import Messages import Trust +import Key backend :: Backend Annex backend = Backend { @@ -38,7 +39,8 @@ backend = Backend { retrieveKeyFile = copyKeyFile, removeKey = checkRemoveKey, hasKey = inAnnex, - fsckKey = checkKeyOnly + fsckKey = checkKeyOnly, + upgradableKey = checkUpgradableKey } mustProvide :: a @@ -159,6 +161,12 @@ getNumCopies Nothing = do where config = "annex.numcopies" +{- Ideally, all keys have file size metadata. Old keys may not. -} +checkUpgradableKey :: Key -> Annex Bool +checkUpgradableKey key + | keySize key == Nothing = return True + | otherwise = return False + {- This is used to check that numcopies is satisfied for the key on fsck. - This trusts data in the the location log, and so can check all keys, even - those with data not present in the current annex. |