changes for v6 broke fsck in direct mode

This commit is contained in:
Joey Hess 2015-12-15 14:27:20 -04:00
parent 3ba6d84559
commit 0ddcaae9c1
Failed to extract signature

View file

@ -299,15 +299,12 @@ verifyDirectMode key file = do
-} -}
checkKeySize :: Key -> KeyStatus -> Annex Bool checkKeySize :: Key -> KeyStatus -> Annex Bool
checkKeySize _ KeyUnlocked = return True checkKeySize _ KeyUnlocked = return True
checkKeySize key KeyLocked = ifM isDirect checkKeySize key KeyLocked = do
( return True
, do
file <- calcRepo $ gitAnnexLocation key file <- calcRepo $ gitAnnexLocation key
ifM (liftIO $ doesFileExist file) ifM (liftIO $ doesFileExist file)
( checkKeySizeOr badContent key file ( checkKeySizeOr badContent key file
, return True , return True
) )
)
checkKeySizeRemote :: Key -> Remote -> Maybe FilePath -> Annex Bool checkKeySizeRemote :: Key -> Remote -> Maybe FilePath -> Annex Bool
checkKeySizeRemote _ _ Nothing = return True checkKeySizeRemote _ _ Nothing = return True
@ -606,8 +603,11 @@ isKeyUnlocked KeyUnlocked = True
isKeyUnlocked KeyLocked = False isKeyUnlocked KeyLocked = False
getKeyStatus :: Key -> Annex KeyStatus getKeyStatus :: Key -> Annex KeyStatus
getKeyStatus key = do getKeyStatus key = ifM isDirect
( return KeyUnlocked
, do
obj <- calcRepo $ gitAnnexLocation key obj <- calcRepo $ gitAnnexLocation key
unlocked <- ((> 1) . linkCount <$> liftIO (getFileStatus obj)) unlocked <- ((> 1) . linkCount <$> liftIO (getFileStatus obj))
<&&> (not . null <$> Database.Keys.getAssociatedFiles key) <&&> (not . null <$> Database.Keys.getAssociatedFiles key)
return $ if unlocked then KeyUnlocked else KeyLocked return $ if unlocked then KeyUnlocked else KeyLocked
)