Talk:File Systems

From ReactOS Wiki
Revision as of 05:21, 3 April 2012 by BrentNewland (talk | contribs) (History)
Jump to: navigation, search

Tasks to improve this article:

  • Write an appropriate introduction to the article.
  • Include relevant information about the status/progress of each FS.
  • Create a section for unplanned/unsupported file systems.
  • Merge information from ReiserFS into said section.


Must we? I don't remember the last time the devs actually talked about support for this, much less any traces of source on the dev tree. --Lone Rifle 08:37, 18 November 2009 (UTC)

I stand corrected, Bo Braten's ReiserFS driver is freely available, and the Reiser4 driver guys are willing to collaborate us. The main issue cited by the article for the collaboration stalling then was the lack of ntifs.h; this has since been imported from Bo Braten's copy of it. Article needs to be updated, and perhaps collaboration should be resumed. --Lone Rifle 08:53, 18 November 2009 (UTC)


ChangeLog-0.0.11 - Added some support for filesystems

ChangeLog-0.0.16 - Implemented symbolic link support; Improvements to the FAT file system driver; Updated Minix file system driver

ChangeLog-0.0.17 - Work on file caching; Work on various filesystems

ChangeLog-0.0.18 - Major NPFS (Named Pipe FileSystem) update; Improved overall VFAT stability; Improved FAT32 support (including write ability); Ram disk driver

ChangeLog-0.0.19 - Implemented file system change notification; NPFS read/write functionality; Added some modifications for asyncronous i/o requests (for vfatfs)

ChangeLog-0.0.20 - Improved VFAT driver including; Changed directory and fat access to pining-interface; Changed calculation of available and free clusters; Changed mount and type determining procedure; Added FAT32 fs type; Support for accessing the raw volume; Made NTFS-Partitions mountable; Added basic ISO-9660 file system driver for CDROM support; Added directory listing; Added file and directory caching; Added file system recognizing driver


  • Finished media change support, except for prper volume dismount (Eric Kohl)


  • VFAT: Improvements; CDFS: Added support for multi session CD

ChangeLog-0.1.0 File locking; Enabled caching of directories and fat segments; Kernel32: Improved file attribute and file time handling; VFatFS: performance enhancements, Handle FAT32 partitions larger than 4GB, Fixed handling of large FAT32 partitions; Fs_Rec: Added UDF filesystem recognize


ChangeLog-0.2.1 Fslib.dll

  • Also zero out first sector of root dir when formatting FAT12 and FAT16 volumes (Gé van Geldorp)


  • Fixed checking for a FAT file system on a removable media (Hartmut Birr)
  • Check more exactly for a FAT file system. (Hartmut Birr)
  • Improved the reading and writing of fragmented files (Hartmut Birr)
  • Don't return a file or allocation size for directories (Hartmut Birr)
  • Handle correctly "Unknown" media type in VfatHasFileSystem. This gets the floppy disk driver working (Filip Navara)

Named Pipe Driver

  • Fix a stupid bug that prevented writing to pipes from working (Filip Navara)
  • Fixed connection/disconnecting/closing handling, so we don't connect to dead and disconnected pipes (Filip Navara)
  • Handle the OPEN_EXISTING flag correctly (Filip Navara)
  • Report reasonable error messages instead of STATUS_UNSUCCESSFUL (Filip Navara)
  • Fixed various problems (hangs/crashes) with connecting, disconnecting and closing named pipes (Filip Navara)
  • Protect against reads from (and writes to) closed named pipes (Filip Navara)
  • Workaround for supporting a reads from pipe after the other end has been closed and data are still available in the buffers (Filip Navara)


  • Fixed the calculated file attribute in CdfsFileFlagsToAttributes (Hartmut Birr)

ChangeLog-0.2.4 VFAT

  • Optimized and re-wrote parts of VFAT (Filip Navara)
  • Fixed a bug, which prevents an opening of files, if the file name contains short path names. (Hartmut Birr)

ChangeLog-0.2.5 VFAT


ChangeLog-0.2.9 vfatfs

  • Don't try to create a file, if no parent fcb was found. (Hartmut Birr)
  • Use the calculated cluster/offset pair if we extend a file. (Hartmut Birr)
  • Lock the MainResource if we overwrite or supersede an existing file. Use given allocation size, if we overwrite or supersede an existing file. (Hartmut Birr)


  • Release the correct locks and release they in the correct sequence. (Hartmut Birr)
  • Use the share disposition to detect the direction of a pipe. (Hartmut Birr)


  • ntmarta : bug 1346 : patch from w3seek : Support SE_FILE_OBJECT in GetNamedSecurityInfo
  • bug 1457: patch by w3seek : VFAT: Implement FileEaInformation for FAT32 committed by (Magnus Olsen)


  • VFAT: VfatGetNameInformation: Return the file name length even if the buffer is too small, that's the whole point of the "Query length before comitting a buffer" principle. (Alex Ionescu)
  • VFAT: VfatGetNameInformation: FSDs are not supposed to null-terminate the buffer, nor expect the caller to send a buffer large enough for null-termination. (Alex Ionescu)
  • VFAT: VfatGetNameInformation: Added a hack in IopQueryFile to handle another VFAT bug which makes it return the total number of bytes written in IoStatus.Information instead of the total number of bytes *left untouched*.There are probably many other broken things due to this. (Alex Ionescu)
  • CDFS: A long long time ago there was a stupid kernel that created MDLs for R/W requests even when the length of the buffer was 0. He had another stupid friend called CDFS which attempted to read the MDL before checking if the buffer size is also 0. When cdfs's friend, the kernel, grew smarter and stopped allocating MDLs, cdfs didn't catch on and cried every time this happened. CDFS now caught up. (thanks to Greatlord for finding the regression). (Alex Ionescu)

BrentNewland 21:29, 11 March 2012 (UTC)]