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

PATCH: Preliminary NTFS write support

    XMLWordPrintable

Details

    Description

      [NTFS]
      This patch is intended to be the MINIMUM incremental update towards read/write support for the NTFS filesystem. It allows for the contents of existing files to be overwritten. To see it in action, you have to format a second hard drive or partition with NTFS and write some text files to it in Windows. These text files should be about 1024 bytes or larger. You can then boot into ReactOS and use this driver to make changes to the files. Note that you can't even change a file's size at this stage.

      Limitations:
      Can't overwite a file with a resident data attribute (files smaller than about 700 bytes).
      Can't Create / Delete / Rename files.
      Can't change file size or details.
      No support for large files, page files, caching, async writes, transactions, probably a lot more.
      Only tested with small files on a very small NTFS partition created in Windows 2000 (NTFS version 3.0).

      Changes:
      blockdev.c:
      +NtfsWriteDisk() in blockdev.c
      NtfsReadDisk() was made to use nonpaged memory for its notification event.

      create.c:
      NtfsCreateFile() got some minor changes to allow overwrites.

      mft.c:
      +WriteAttribute()

      misc.c:
      +NtfsLockUserBuffer()

      ntfs.h:
      +prototypes
      NTFS_TYPE_IRP_CONTEST changed to NTFS_TYPE_IRP_CONTEXT - It's not a contest

      rw.c:
      +NtfsWriteFile()
      +NtfsWrite()
      Fixed some logic regarding sector-aligned writes in NftsReadFile(). Before, if a read straddled a sector boundary, some data could be missed. Also, the function did not previously reserve enough memory for this situation.

      Attachments

        1. ntfs_preliminary_write_support.patch
          43 kB
        2. NTFS_Tests.zip
          267 kB
        3. ntfs_preliminary_write_support.patch
          39 kB
        4. NTFS_Tests.zip
          401 kB
        5. ntfs_preliminary_write_support.patch
          36 kB
        6. ntfs_preliminary_write_support.patch
          35 kB
        7. NTFS_Tests.zip
          405 kB
        8. NTFS_Bonus.zip
          330 kB

        Issue Links

          Activity

            People

              Heis Spiter Pierre Schweitzer
              coderTrevor Trevor Thompson
              Votes:
              8 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: