summaryrefslogtreecommitdiff
path: root/Backend
diff options
context:
space:
mode:
Diffstat (limited to 'Backend')
-rw-r--r--Backend/Hash.hs5
-rw-r--r--Backend/WORM.hs6
2 files changed, 6 insertions, 5 deletions
diff --git a/Backend/Hash.hs b/Backend/Hash.hs
index e50eca516..8ddccd229 100644
--- a/Backend/Hash.hs
+++ b/Backend/Hash.hs
@@ -68,8 +68,7 @@ hashNameE hash = hashName hash ++ "E"
keyValue :: Hash -> KeySource -> Annex (Maybe Key)
keyValue hash source = do
let file = contentLocation source
- stat <- liftIO $ getFileStatus file
- let filesize = fromIntegral $ fileSize stat
+ filesize <- liftIO $ getFileSize file
s <- hashFile hash file filesize
return $ Just $ stubKey
{ keyName = s
@@ -103,7 +102,7 @@ checkKeyChecksum hash key file = do
mstat <- liftIO $ catchMaybeIO $ getFileStatus file
case (mstat, fast) of
(Just stat, False) -> do
- let filesize = fromIntegral $ fileSize stat
+ filesize <- liftIO $ getFileSize' file stat
showSideAction "checksum"
check <$> hashFile hash file filesize
_ -> return True
diff --git a/Backend/WORM.hs b/Backend/WORM.hs
index bd5e374e1..24dba5795 100644
--- a/Backend/WORM.hs
+++ b/Backend/WORM.hs
@@ -32,11 +32,13 @@ backend = Backend
-}
keyValue :: KeySource -> Annex (Maybe Key)
keyValue source = do
- stat <- liftIO $ getFileStatus $ contentLocation source
+ let f = contentLocation source
+ stat <- liftIO $ getFileStatus f
+ sz <- liftIO $ getFileSize' f stat
relf <- getTopFilePath <$> inRepo (toTopFilePath $ keyFilename source)
return $ Just $ stubKey
{ keyName = genKeyName relf
, keyBackendName = name backend
- , keySize = Just $ fromIntegral $ fileSize stat
+ , keySize = Just sz
, keyMtime = Just $ modificationTime stat
}