fix reversion in recent CoW changes
File handle accidentially left open is both a FD leak and causes the haskell RTS to reject opening it again with "file is locked".
This commit is contained in:
parent
3d9d1d1416
commit
fee6504388
4 changed files with 28 additions and 1 deletions
|
@ -494,7 +494,8 @@ retrieveExportWithContentIdentifierM dir cow loc cid dest mkkey p =
|
|||
storeExportWithContentIdentifierM :: RawFilePath -> CopyCoWTried -> FilePath -> Key -> ExportLocation -> [ContentIdentifier] -> MeterUpdate -> Annex ContentIdentifier
|
||||
storeExportWithContentIdentifierM dir cow src k loc overwritablecids p = do
|
||||
liftIO $ createDirectoryUnder dir (toRawFilePath destdir)
|
||||
withTmpFileIn destdir template $ \tmpf _tmph -> do
|
||||
withTmpFileIn destdir template $ \tmpf tmph -> do
|
||||
liftIO $ hClose tmph
|
||||
fileCopierUnVerified cow src tmpf k p
|
||||
let tmpf' = toRawFilePath tmpf
|
||||
resetAnnexFilePerm tmpf'
|
||||
|
|
|
@ -23,3 +23,5 @@ looked only at "normal" run
|
|||
so actually looks like the same test in various scenarios.
|
||||
|
||||
probably relates to the tune ups to make importtree work with CoW
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2021-04-20T15:10:59Z"
|
||||
content="""
|
||||
Indeed it was, file handle left open. Fixed.
|
||||
"""]]
|
|
@ -0,0 +1,17 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2021-04-20T15:10:00Z"
|
||||
content="""
|
||||
It's possible it had the same cause as the other failure, which I've now
|
||||
fixed. That involved a file handle leak, and on windows a file handle being
|
||||
left open for write is treated the same as the file being locked and will
|
||||
prevent a later deletion attempt and also a later write attempt, which
|
||||
could explain the two unlike failures.
|
||||
|
||||
However, the file that was left open was a temp file in the remote,
|
||||
not the object file in the annex. So I'm not sure if it's fixed.
|
||||
Also possible something else in the windows code path changed accidentially
|
||||
during those CoW changes. Will have to see what happens when the
|
||||
autobuilder runs again.
|
||||
"""]]
|
Loading…
Reference in a new issue