diff options
author | Joey Hess <joey@kitenet.net> | 2011-03-22 17:27:04 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-03-22 17:27:04 -0400 |
commit | aa2d8e33df3fc6ba204e28001ab0d1d231c9c58e (patch) | |
tree | cc7ea1560b68af06d819b83e01579974210ff0c3 /Command | |
parent | aa1bc31e0aede63a1e68d2ec3e2653a7f5be0ae7 (diff) |
free space checking
Free space checking is now done, for transfers of data for keys that have free space metadata.
(Notably, not for SHA* keys generated with git-annex 0.24 or earlier.)
The code is believed to work on Linux, FreeBSD, and OSX; check compile-time
messages to see if it is not enabled for your OS.
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Migrate.hs | 2 | ||||
-rw-r--r-- | Command/SetKey.hs | 3 | ||||
-rw-r--r-- | Command/Unlock.hs | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/Command/Migrate.hs b/Command/Migrate.hs index 584f6e34e..56147113b 100644 --- a/Command/Migrate.hs +++ b/Command/Migrate.hs @@ -55,7 +55,7 @@ perform file oldkey newbackend = do case stored of Nothing -> return Nothing Just (newkey, _) -> do - ok <- getViaTmp newkey $ \t -> do + ok <- getViaTmpUnchecked newkey $ \t -> do -- Make a hard link to the old backend's -- cached key, to avoid wasting disk space. liftIO $ createLink src t diff --git a/Command/SetKey.hs b/Command/SetKey.hs index af46fe06e..6f6078e4b 100644 --- a/Command/SetKey.hs +++ b/Command/SetKey.hs @@ -32,7 +32,8 @@ perform :: FilePath -> CommandPerform perform file = do key <- cmdlineKey -- the file might be on a different filesystem, so mv is used - -- rather than simply calling moveToObjectDir + -- rather than simply calling moveToObjectDir; disk space is also + -- checked this way. ok <- getViaTmp key $ \dest -> do if dest /= file then liftIO $ diff --git a/Command/Unlock.hs b/Command/Unlock.hs index ac7b22ac7..bf593e1e9 100644 --- a/Command/Unlock.hs +++ b/Command/Unlock.hs @@ -41,6 +41,8 @@ perform dest key = do inbackend <- Backend.hasKey key when (not inbackend) $ error "content not present" + + checkDiskSpace key g <- Annex.gitRepo let src = gitAnnexLocation g key |