summaryrefslogtreecommitdiff
path: root/Command/Fsck.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-09-13 12:50:29 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-09-13 12:50:29 -0400
commita82f5af34e255253b38e7862436fc86f96316cda (patch)
tree0e83c3e78a76a9732e245765759aa572e4ee8db5 /Command/Fsck.hs
parentb5f6212e39fb8c143b9a6a437a83df7ea4487a2b (diff)
fsck: Fix detection and fixing of present direct mode files that are wrongly represented as standin symlinks on crippled filesystems.
Diffstat (limited to 'Command/Fsck.hs')
-rw-r--r--Command/Fsck.hs4
1 files changed, 1 insertions, 3 deletions
diff --git a/Command/Fsck.hs b/Command/Fsck.hs
index 35d6fc7b6..5e150f936 100644
--- a/Command/Fsck.hs
+++ b/Command/Fsck.hs
@@ -271,7 +271,7 @@ verifyDirectMapping key file = do
{- Ensures that files whose content is available are in direct mode. -}
verifyDirectMode :: Key -> FilePath -> Annex Bool
verifyDirectMode key file = do
- whenM (isDirect <&&> islink) $ do
+ whenM (isDirect <&&> isJust <$> isAnnexLink file) $ do
v <- toDirectGen key file
case v of
Nothing -> noop
@@ -279,8 +279,6 @@ verifyDirectMode key file = do
showNote "fixing direct mode"
a
return True
- where
- islink = liftIO $ isSymbolicLink <$> getSymbolicLinkStatus file
{- The size of the data for a key is checked against the size encoded in
- the key's metadata, if available.