* syscalls.cc (rename): ONly start transaction if FS supports them.
This commit is contained in:
parent
13b9bb6221
commit
b61251603a
|
@ -1,3 +1,7 @@
|
|||
2008-05-15 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* syscalls.cc (rename): ONly start transaction if FS supports them.
|
||||
|
||||
2008-05-15 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* autoload.cc (LoadDLLfuncNt): Re-invent.
|
||||
|
|
|
@ -1716,6 +1716,7 @@ rename (const char *oldpath, const char *newpath)
|
|||
to call only NtSetInformationFile under the transaction. Therefore we
|
||||
have to start the transaction here, if necessary. */
|
||||
if (wincap.has_transactions ()
|
||||
&& (dstpc->fs_flags () & FILE_SUPPORTS_TRANSACTIONS)
|
||||
&& (dstpc->isdir () || dstpc->has_attribute (FILE_ATTRIBUTE_READONLY)))
|
||||
start_transaction (old_trans, trans);
|
||||
|
||||
|
@ -1829,7 +1830,9 @@ rename (const char *oldpath, const char *newpath)
|
|||
destination before renaming. */
|
||||
if (status == STATUS_ACCESS_DENIED && dstpc->exists () && !dstpc->isdir ())
|
||||
{
|
||||
if (wincap.has_transactions () && !trans)
|
||||
if (wincap.has_transactions ()
|
||||
&& (dstpc->fs_flags () & FILE_SUPPORTS_TRANSACTIONS)
|
||||
&& !trans)
|
||||
{
|
||||
start_transaction (old_trans, trans);
|
||||
/* As mentioned earlier, opening the file must be part of the
|
||||
|
|
Loading…
Reference in New Issue