[MERGE] AtomicFile names are now not invariant-per-process which stops multiple transactions on the same file breaking under unknown conditions on Windows CIFS shares
Adrian Wilkins
adrian.wilkins at gmail.com
Mon Dec 15 14:09:04 GMT 2008
Fixes a problem with Windows where some clients run into ERR 17
(errno.EEXIST) under circumstances that are unknown, but involve a
repository on a CIFS/SMB network drive being accessed using the local
transport. This would happen reliably, but only from certain clients, when
* Branching a branch in the network drive to another branch on the
network drive. (last-revision file).
* Autopacking (but not manual-packing) (pack-names file)
The patch contains no changes to tests because it makes a small change
to the internal implementation of AtomicFile in a way that should not
affect the behaviour of the API.
The problem appears to be that the client requests deletion of the
intermediary "AtomicFile" and the server responds that it has succeeded
- and then the client creates the same file again, before the server has
actually deleted it, causing an error.
Because I can't fix the race conditions in the Win2k3 CIFS server, the
solution has been to add a random element to the filename that
AtomicFile uses.
See
https://bugs.launchpad.net/bzr/+bug/304023
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bzr-atomicfile-cifs-win32-fix-3906.patch
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20081215/35355376/attachment.diff
More information about the bazaar
mailing list