[TxMt] Atomic Saving / Saving Question
Sune Foldager
cryo at cyanite.org
Tue Feb 8 19:05:59 UTC 2005
On 8. feb 2005, at 18:43, Chris Thomas wrote:
>> Huh? If I have file A hard linked with B and I "atomically" replace A
>> (i.e. write A.new, move A.new to A) then I will break the link
>> between A and B. That's the issue here, and that's certainly what
>> happens in the scenario I just described :-). No HFS+ errors here.
>
> Right, but I'm talking specifically about the exchangedata system call
> (or FSExchangeObjects). exchangedata is a Darwin VFS operation. It
> calls into the file system implementation to perform the atomic
> exchange. For HFS+, it explicitly preserves the file ID. I had assumed
> it would preserve hardlinks as well, but it turns out that it just
> errors out if one of the files is hardlinked (or has ever been
> hardlinked).
I see... interesting. Of course somewhat unfortunate that it fails with
multilinked files.... then, preserving the id/inode will only help with
alises (if the file was moved since the alias was created).
--
Sune.
:: the Cottage of Lost Play.
:: http://cyanite.org
More information about the textmate
mailing list