What does 'resource busy' mean?
Matt Mackall
mpm at selenic.com
Sat Oct 12 01:16:22 UTC 2013
On Fri, 2013-10-11 at 10:28 +1100, Chris Velevitch wrote:
> I updated 2.7.1 and then to 2.7.2 and since then, I've been getting
> 'resource busy' whenever I try to 'push' to different repository. What does
> this mean?
Almost certainly nothing to do with 2.7.1 -> 2.7.2.
"resource busy" is the message associated with the standard EBUSY
OS-level error. It's actually intended for things like system-level
mutexes and basically never happens on normal filesystems. But some
network filesystems will give this error when they decide to punt on
pretending to be normal filesystems.
One likely scenario for this is:
- you're using a network filesystem connected to Windows
- you write a file
- the Windows machine is running the corporate-mandated virus scanner
- the virus scanner starts reading the file you wrote
- performance goes to hell (but you already chose Windows, so...)
- you try to delete the file
- Windows refuses because it can't handle deleting a file being read
- network filesystem says "well, that error can't even happen on Unix,
so I'll have to abuse an existing error code.. EBUSY sounds good"
- Mercurial says "hey, weird thing happened, sorry"
(Seriously, if you're running your server on Windows and reaching it via
a Windows filesystem, you have the worst of all possible worlds from a
reliability standpoint. Use Unix + ssh or http.)
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list