Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp for only partially transferred objects.
This allows eg, putting .git/annex/tmp on a ram disk, if the disk IO of temp object files is too annoying (and if you don't want to keep partially transferred objects across reboots). .git/annex/misctmp must be on the same filesystem as the git work tree, since files are moved to there in a way that will not work cross-device, as well as symlinked into there. I first wanted to put the tmp objects in .git/annex/objects/tmp, but that would pose transition problems on upgrade when partially transferred objects existed. git annex info does not currently show the size of .git/annex/misctemp, since it should stay small. It would also be ok to make something clean it out, periodically.
This commit is contained in:
parent
a19ad12018
commit
a1432bce2f
18 changed files with 35 additions and 28 deletions
|
@ -448,7 +448,7 @@ safeToAdd havelsof delayadd pending inprocess = do
|
|||
let segments = segmentXargs $ map keyFilename keysources
|
||||
concat <$> forM segments (\fs -> Lsof.query $ "--" : fs)
|
||||
, do
|
||||
tmpdir <- fromRepo gitAnnexTmpDir
|
||||
tmpdir <- fromRepo gitAnnexTmpMiscDir
|
||||
liftIO $ Lsof.queryDir tmpdir
|
||||
)
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ transferPollerThread = namedThread "TransferPoller" $ do
|
|||
{- Downloads are polled by checking the size of the
|
||||
- temp file being used for the transfer. -}
|
||||
| transferDirection t == Download = do
|
||||
let f = gitAnnexTmpLocation (transferKey t) g
|
||||
let f = gitAnnexTmpObjectLocation (transferKey t) g
|
||||
sz <- liftIO $ catchMaybeIO $
|
||||
fromIntegral . fileSize <$> getFileStatus f
|
||||
newsize t info sz
|
||||
|
|
|
@ -187,7 +187,7 @@ xmppPush cid gitpush = do
|
|||
v <- liftIO $ getEnv "GIT_ANNEX_TMP_DIR"
|
||||
case v of
|
||||
Nothing -> do
|
||||
tmp <- liftAnnex $ fromRepo gitAnnexTmpDir
|
||||
tmp <- liftAnnex $ fromRepo gitAnnexTmpMiscDir
|
||||
return $ tmp </> "xmppgit"
|
||||
Just d -> return $ d </> "xmppgit"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue