Pierre-fsd Branch
Branch aims
The goal of the branch is to bring a high level of compatibility for ReactOS with FileSystem Drivers (FSD) and their features.
It works in two ways :
- Improving/importing FSD. Our priority is to get fastfat and cdfs running well both on Windows 2003 SP1 (first) and ReactOS (then). Once those drivers will work on both platforms, we will be able to consider advanced FSD such as NTFS or ext2/ext3. About NTFS, this page should be considered carefully : NTFS.
- Implementing, fixing the missing functions in the ReactOS kernel (mainly the FileSytem RunTime Library (FsRtl) package).
FsRtl functions status
function is implemented | implemented |
---|---|
function is stublemented | stubplemented |
function implementation is outdated | implementation outdated |
function is unimplemented | unimplemented |
function is public | public |
function is private | private |
Function name | implementation status |
---|---|
FsRtlAcquireFileExclusive | stubplemented |
FsRtlAddBaseMcbEntry | stubplemented |
FsRtlAddLargeMcbEntry | stubplemented |
FsRtlAddMcbEntry | stubplemented |
FsRtlAddToTunnelCache | stubplemented |
FsRtlAllocateFileLock | implemented |
FsRtlAllocatePool | implemented |
FsRtlAllocatePoolWithQuota | implemented |
FsRtlAllocatePoolWithQuotaTag | implemented |
FsRtlAllocatePoolWithTag | implemented |
FsRtlAllocateResource | implemented |
FsRtlAreNamesEqual | implemented |
FsRtlBalanceReads | implemented |
FsRtlCheckLockForReadAccess | stubplemented |
FsRtlCheckLockForWriteAccess | stubplemented |
FsRtlCheckOplock | stubplemented |
FsRtlCopyRead | implemented |
FsRtlCopyWrite | implemented |
FsRtlCreateSectionForDataScan | stubplemented |
FsRtlCurrentBatchOplock | stubplemented |
FsRtlDeleteKeyFromTunnelCache | stubplemented |
FsRtlDeleteTunnelCache | stubplemented |
FsRtlDeregisterUncProvider | stubplemented |
FsRtlDissectDbcs | implemented |
FsRtlDissectName | implemented |
FsRtlDoesDbcsContainWildCards | implemented |
FsRtlDoesNameContainWildCards | implemented |
FsRtlFastCheckLockForRead | stubplemented |
FsRtlFastCheckLockForWrite | stubplemented |
FsRtlFastUnlockAll | stubplemented |
FsRtlFastUnlockAllByKey | stubplemented |
FsRtlFastUnlockSingle | stubplemented |
FsRtlFindInTunnelCache | stubplemented |
FsRtlFreeFileLock | stubplemented |
FsRtlGetFileSize | implemented |
FsRtlGetNextBaseMcbEntry | stubplemented |
FsRtlGetNextFileLock | stubplemented |
FsRtlGetNextLargeMcbEntry | stubplemented |
FsRtlGetNextMcbEntry | stubplemented |
FsRtlIncrementCcFastReadNoWait | implemented |
FsRtlIncrementCcFastReadNotPossible | implemented |
FsRtlIncrementCcFastReadResourceMiss | implemented |
FsRtlIncrementCcFastReadWait | implemented |
FsRtlInitializeBaseMcb | implemented |
FsRtlInitializeFileLock | implemented |
FsRtlInitializeLargeMcb | implemented |
FsRtlInitializeLargeMcbs | implemented |
FsRtlInitializeMcb | implemented |
FsRtlInitializeOplock | implemented |
FsRtlInitializeTunnelCache | implemented |
FsRtlInsertPerFileObjectContext | stubplemented |
FsRtlInsertPerStreamContext | implemented |
FsRtlIsDbcsInExpression | implementation outdated |
FsRtlIsFatDbcsLegal | implemented |
FsRtlIsHpfsDbcsLegal | implemented |
FsRtlIsNameInExpression | implemented |
FsRtlIsNameInExpressionPrivate | implementation outdated |
FsRtlIsNotifyOnList | implemented |
FsRtlIsNtstatusExpected | implemented |
FsRtlIsPagingFile | implemented |
FsRtlIsTotalDeviceFailure | implemented |
FsRtlLookupBaseMcbEntry | stubplemented |
FsRtlLookupLargeMcbEntry | stubplemented |
FsRtlLookupLastBaseMcbEntry | stubplemented |
FsRtlLookupLastBaseMcbEntryAndIndex | stubplemented |
FsRtlLookupLastLargeMcbEntry | stubplemented |
FsRtlLookupLastLargeMcbEntryAndIndex | stubplemented |
FsRtlLookupLastMcbEntry | stubplemented |
FsRtlLookupMcbEntry | stubplemented |
FsRtlLookupPerFileObjectContext | stubplemented |
FsRtlLookupPerStreamContextInternal | implemented |
FsRtlMdlRead | implemented |
FsRtlMdlReadComplete | implemented |
FsRtlMdlReadCompleteDev | implemented |
FsRtlMdlReadDev | implemented |
FsRtlMdlWriteComplete | implemented |
FsRtlMdlWriteCompleteDev | implemented |
FsRtlNormalizeNtstatus | implemented |
FsRtlNotifyChangeDirectory | implemented |
FsRtlNotifyCleanup | implemented |
FsRtlNotifyCompleteIrpList | unimplemented |
FsRtlNotifyFilterChangeDirectory | stubplemented |
FsRtlNotifyFilterReportChange | stubplemented |
FsRtlNotifyFullChangeDirectory | implemented |
FsRtlNotifyFullReportChange | implemented |
FsRtlNotifyInitializeSync | implemented |
FsRtlNotifyReportChange | stubplemented |
FsRtlNotifyUninitializeSync | implemented |
FsRtlNotifyVolumeEvent | implemented |
FsRtlNumberOfRunsInBaseMcb | implemented |
FsRtlNumberOfRunsInLargeMcb | implementation outdated |
FsRtlNumberOfRunsInMcb | implemented |
FsRtlOplockFsctrl | stubplemented |
FsRtlOplockIsFastIoPossible | stubplemented |
FsRtlPostPagingFileStackOverflow | stubplemented |
FsRtlPostStackOverflow | stubplemented |
FsRtlPrepareMdlWrite | implemented |
FsRtlPrepareMdlWriteDev | implemented |
FsRtlPrivateLock | stubplemented |
FsRtlProcessFileLock | implemented |
FsRtlRegisterFileSystemFilterCallbacks | stubplemented |
FsRtlRegisterUncProvider | stubplemented |
FsRtlReleaseFile | stubplemented |
FsRtlRemoveBaseMcbEntry | stubplemented |
FsRtlRemoveLargeMcbEntry | stubplemented |
FsRtlRemoveMcbEntry | stubplemented |
FsRtlRemovePerFileObjectContext | stubplemented |
FsRtlRemovePerStreamContext | implemented |
FsRtlResetBaseMcb | implemented |
FsRtlResetLargeMcb | implementation outdated |
FsRtlSplitBaseMcb | stubplemented |
FsRtlSplitLargeMcb | stubplemented |
FsRtlSyncVolumes | implemented |
FsRtlTeardownPerStreamContexts | implemented |
FsRtlTruncateBaseMcb | stubplemented |
FsRtlTruncateLargeMcb | stubplemented |
FsRtlTruncateMcb | stubplemented |
FsRtlUninitializeBaseMcb | implemented |
FsRtlUninitializeFileLock | stubplemented |
FsRtlUninitializeLargeMcb | implemented |
FsRtlUninitializeMcb | implemented |
FsRtlUninitializeOplock | stubplemented |