Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-15973

REGRESSION: Files opened with FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH and written with FlushFileBuffers are no longer written to disk

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.13
    • None

    Description

      Rosautotest maintains a journal file when running individual tests. To absolutely make sure that this journal file is stored on disk even when ReactOS crashes afterwards, it is opened with FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH and FlushFileBuffers is called after every WriteFile.

      This file is no longer written to disk in recent revisions (tested 2e1f594d5e3f25b3aaf2bd6a9ee76a03f5279f0b).
      I've already regress-tested the bug down to the following range:

      Build 20181106-0.4.10-release-0-g2be9148 works
      Build 20190303-0.4.11-release-0-ged7305b does not work

      Steps to Reproduce

      1. Install a regular ReactOS bootcd in a VM.
      2. Mount the VM hard disk and delete everything that's in \ReactOS\bin. Then extract the attached test EXEs from bin.7z into that folder.
      3. Extract the rosautotest.exe from rosautotest.7z into \ReactOS\system32.
      4. Unmount the VM hard disk and start ReactOS.
      5. Fire up a Command Prompt and enter "rosautotest /r".
      6. While the tests are running (they should take some minutes), fire up another Command Prompt and go to C:\Documents and Settings\Administrator\Application Data\rosautotest.
      7. Type "dir" to check the file size of "rosautotest.journal".

      Working revisions show a file size > 0.
      Current non-working revisions only show an empty file.

      Attachments

        1. bin.7z
          264 kB
        2. rosautotest.7z
          186 kB

        Issue Links

          Activity

            People

              Heis Spiter Pierre Schweitzer
              Colin Finck Colin Finck
              Votes:
              3 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: