[vbox-dev] Possibly a way to fix Ticket #6473 Wrong timestamp for files write in shared folders
Eugen Labun
labun at gmx.net
Thu Mar 1 03:07:07 PST 2012
Hi Frank,
thank you for reply!
IIUC, in general, RTFileWrite (on the host-OS) should (also in isolation!) mimic the behavior of the
"write" system call of the guest-OS (that gets forwarded to RTFileWrite via guest additions[1]).
(Even though "mimic" could actually only mean to equally handle the modification time.)
For instance, [please use a monospaced font for this preformatted table]
Guest-OS Host-OS Behavior of RTFileWrite (on the Host) Implementation of RTFileWrite
---------------------------------------------------------------------------------------------
Windows Linux as Windows' WriteFile, 1) cache modif./creation time
i.e. not reseting modification *of the file*
(and creation?) time. (how the guest-OS sees them),
2) call ´write´,
3) restore cached parts of timestamp
Linux Windows as Linux' write, 1) call ´WriteFile´,
i.e. reset modification and 2) reset modif. and creation times
creation time! to the current *system time*
(how the guest-OS sees it)!
Windows Windows as Windows' WriteFile simply call ´WriteFile´
Linux Linux as Linux' write simply call ´write´
[1] Do I understand this correctly? Do guest additions really intercept system calls (such as
WriteFile on Windows) and forward them (if desired) to the Host-OS VirtualBox services (such as
RTFileWrite)?
Kind regards,
Eugen
P.S. The table is also attached as a text file (in case the formatting goes wrong here).
On 2012-02-29 22:33, Frank Mehnert wrote:
> Eugen,
>
> actually this was a helpful investigation. Indeed the file modification
> time is handled different between a Windows host and a Linux host when
> using RTFileWrite and a Windows guest does apparently first open the
> file, then sets the modification time and writes to that file afterwards.
>
> The fix is probably to cache the file modification time and set it
> before the file is closed (the Microsoft documentation for WriteFile
> says that the file must be closed to get the file modification time
> correctly applied).
>
> Kind regards,
>
> Frank
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: RTFileWrite-Table.txt
Url: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20120301/1fa22cdf/attachment-0001.txt
More information about the vbox-dev
mailing list