Details
-
Improvement
-
Resolution: Fixed
-
Major
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
Issue Links
- blocks
-
CORE-6305 Can't install ROS when there is NTFS partition on RealHW
- Selected for Development