Hi Tristan, > I was actually looking into that recently as part of another project > and it's pretty easy. Basically ...
Sounds cool :-) any chance you can knock up a nice fragment of tested C code that would do this for Linux under MPL/LGPLv3+ that we can couple up ? We'd want to add that to sal/osl/unx/file.cxx (osl_syncFile) inside some #ifdef LINUX guard I guess. Then we'd want to add an osl_syncFile to the end of our export logic, which is slightly more involved; I suspect ucb/source/ucp/file/filstr.cxx /closeOutput/ - anyhow - first steps first. Turning this into an intermediate / easy hack with the above pointers :-) -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libreoffice in Ubuntu. https://bugs.launchpad.net/bugs/817326 Title: [Upstream] Previously-saved LibreOffice document lost by power outage (became 0 bytes long) - LibreOffice should call fsync Status in LibreOffice Productivity Suite: Confirmed Status in “libreoffice” package in Ubuntu: Confirmed Bug description: I was working on a document in LibreOffice today while my battery was low and so I was frequently saving, which I thought would help me if I lost power. However, when I eventually did lose power and later rebooted, the document had become 0 bytes long. LibreOffice was not able to restore the auto-saved copy either. As a result, I have lost a whole week of notes for one of my courses. After researching online, it seems that this is caused by the application not calling fsync() (or fdatasync()) when saving files. Due to delayed allocation in modern filesystems, there is no guarantee that the new file's data has actually been written to disk unless the application calls fsync. So if an app writes a new file and replaces the old one with it without fsync'ing the new one first then there is a window of opportunity during which a power failure will result in the loss of BOTH versions of the file. In ext4 this window is also much larger than in ext3. Theodore Tso blogged about this at http://ldn.linuxfoundation.org /blog-entry/delayed-allocation-and-zero-length-file-problem and http://www.linuxfoundation.org/news- media/blogs/browse/2009/03/don%E2%80%99t-fear-fsync. He strongly recommends to call fsync in this situation. Please update LibreOffice to fsync() saved files so that other users do not lose their data like I did. ProblemType: Bug DistroRelease: Ubuntu 11.04 Package: libreoffice-core 1:3.3.2-1ubuntu5 ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2 Uname: Linux 2.6.38-8-generic x86_64 Architecture: amd64 Date: Wed Jul 27 21:37:02 2011 InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429) ProcEnviron: LANGUAGE=en_US:en LANG=en_US.UTF-8 SHELL=/bin/bash SourcePackage: libreoffice UpgradeStatus: Upgraded to natty on 2011-04-29 (89 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/df-libreoffice/+bug/817326/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

