forkables: About hardlink creation and NTFS transaction in rename()

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Nov 22 17:22:00 GMT 2016


On Nov 21 16:19, Michael Haubenwallner wrote:
> Hi Corinna,
> 
> now working with the cygfork patches (hardlinks to retain forkability
> beyond exe/dll update): when creating the forkable hardlink using the
> earlier opened file handle I may get STATUS_TRANSACTION_NOT_ACTIVE.
> 
> It turns out that when loaded 'some.dll' was readonly, then
> rename("new/some.dll", "some.dll") uses an NTFS-transaction to drop
> the readonly attribute, breaking the subsequent hardlink creation
> of "/var/run/cygfork/.../soname.dll" via the original file handle.

Do not use the DOS R/O attribute on non-FAT in a POSIX context.  Only
Cygwin symlinks of the Windows shortcut type should do that, and then
only for historical reasons.  And don't get me started how bad an idea
Windows shortcut symlinks were in the first place...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-developers/attachments/20161122/94f1229b/attachment.sig>


More information about the Cygwin-developers mailing list