[MS-FSA]: File System Algorithms

This topic lists the Errata found in the MS-FSA document since it was last published. Since this topic is updated frequently, we recommend that you subscribe to these RSS or Atom feeds to receive update notifications.

Errata are subject to the same terms as the Open Specifications documentation referenced.

RSS

Atom

To view a PDF file of the errata for the previous versions of this document, see the following ERRATA Archives:

March 2, 2016 - Download

October 16, 2015 - Download

June 30, 2015 - Download

July 18, 2016 - Download

June 1, 2017 - Download

September 15, 2017 - Download

December 1, 2017 - Download

September 12, 2018 - Download

June 24, 2019 – Download

March 4, 2020 - Download

August 24, 2020 – Download

June 1, 2021 - Download

October 6, 2021 - Download

Errata below are for Protocol Document Version V35.0 – 2021/10/06.

Errata Published*

Description

2022/01/25

In Section 2.1.5.9.29.2, Algorithm for REFS_STREAM_SNAPSHOT_OPERATION_LIST, added information about special matching characters allowed in the query.

Changed from:

A search for Q is performed within the File containing S. This will match all named attributes within the file whose names match the query string Q.

Changed to:

A search for Q is performed within the File containing S. This will match all named attributes within the file whose names match the query string Q.<115>

<115> Section 2.1.5.9.29.2: On Microsoft Windows the query can include asterisks to match spans of zero or more characters. No other special matching characters are supported.

2022/01/04

In Section 2.1.5.9.29.5, Algorithm for REFS_STREAM_SNAPSHOT_OPERATION_SET_SHADOW_BTREE, updated the return value.

Changed from:

The operation is completed with STATUS_SUCCESS.

Changed to:

The operation is completed with STATUS_SUCCESS.<116>

<116> Section 2.1.5.9.29.5: REFS_STREAM_SNAPSHOT_OPERATION_SET_SHADOW_BTREE is not supported on Windows and returns STATUS_NOT_IMPLEMENTED.

2022/01/04

In Section 2.1.5.9.29.4, REFS_STREAM_SNAPSHOT_OPERATION_REVERT, updated the return value.

Changed from:

The operation is completed with STATUS_SUCCESS.

Changed to:

The operation is completed with STATUS_SUCCESS.<115>

<115> Section 2.1.5.9.29.4: REFS_STREAM_SNAPSHOT_OPERATION_REVERT is not supported on Microsoft Windows and returns STATUS_NOT_IMPLEMENTED.

2022/01/04

In Section 2.1.5.9.29.6, Algorithm for REFS_STREAM_SNAPSHOT_OPERATION_CLEAR_SHADOW_BTREE, updated the return value.

Changed from:

The operation is completed with STATUS_SUCCESS.

Changed to:

The operation is completed with STATUS_SUCCESS.<117>

<117> Section 2.1.5.9.29.6: REFS_STREAM_SNAPSHOT_OPERATION_CLEAR_SHADOW_BTREE is not supported on Windows and returns STATUS_NOT_IMPLEMENTED.

2021/12/14

In Section 2.1.1.3, Per File, added ReFS to the list of file systems supporting named streams.

Changed from:

<23> Section 2.1.1.3: Only NTFS and UDFS implement named streams.

Changed to:

<23> Section 2.1.1.3: Only NTFS, UDFS, and ReFS implement named streams.

2021/12/14

In Section 2.1.5.9.33, FSCTL_SET_INTEGRITY_INFORMATION, added additional failure conditions.

Changed from:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

Changed to:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_NONE and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_UNCHANGED, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

In Section 2.1.5.9.34, FSCTL_SET_INTEGRITY_INFORMATION_EX, added additional failure conditions.

Changed from:

● InputBuffer.Version != 1.

Changed to:

● InputBuffer.Version != 1.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.EnableIntegrity == 0, InputBuffer.KeepIntegrityStateUnchanged == 0 and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

● InputBuffer.KeepIntegrityStateUnchanged != 0, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

2021/12/14

In Section 2.1.1.3, Per File, clarified the uniqueness of an unnamed DirectoryStream:

Changed from:

StreamList: A list of zero or more Streams as defined in section 2.1.1.5. A DataFile MUST have one and only one unnamed DataStream; any additional streams MUST be named DataStreams. A DirectoryFile MUST have one and only one unnamed DirectoryStream; any additional streams MUST be named DataStreams. For any two distinct elements Stream1 and Stream2 in StreamList, if Stream1.StreamType equals Stream2.StreamType then Stream1.Name MUST NOT match Stream2.Name.

Changed to:

StreamList: A list of zero or more named Streams as defined in section 2.1.1.5. A DataFile MUST have one and only one unnamed DataStream; any additional streams MUST be named DataStreams. A DirectoryFile MUST have one and only one unnamed DirectoryStream; any additional streams MUST be named DataStreams.

2021/12/14

In section, 2.1.5.9.19, FSCTL_MARK_HANDLE, added processing details for ReFS file systems to InputBuffer.HandleInfo test.

Changed from:

● Else If InputBuffer.HandleInfo has MARK_HANDLE_NOT_READ_COPY set:

● Set Open.ReadCopyNumber = 0xffffffff.

Changed to:

● Else If InputBuffer.HandleInfo has MARK_HANDLE_NOT_READ_COPY set:

● For ReFS File System, if Open.File.Volume.NumberOfDataCopies < 2, the operation MUST be failed with STATUS_NOT_REDUNDANT_STORAGE.

● Set Open.ReadCopyNumber = 0xffffffff.

2021/12/14

In Section 2.1.5.9.33, FSCTL_SET_INTEGRITY_INFORMATION, added additional failure conditions.

Changed from:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

Changed to:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_NONE_and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_UNCHANGED, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

In Section 2.1.5.9.34, FSCTL_SET_INTEGRITY_INFORMATION_EX, added additional failure conditions.

Changed from:

● InputBuffer.Version != 1.

Changed to:

● InputBuffer.Version != 1.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.EnableIntegrity == 0, InputBuffer.KeepIntegrityStateUnchanged == 0 and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

● InputBuffer.KeepIntegrityStateUnchanged != 0, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

2021/12/14

In Section 2.1.5.9.33, FSCTL_SET_INTEGRITY_INFORMATION, added additional failure conditions.

Changed from:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

Changed to:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_NONE_and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_UNCHANGED, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

In Section 2.1.5.9.34, FSCTL_SET_INTEGRITY_INFORMATION_EX, added additional failure conditions.

Changed from:

● InputBuffer.Version != 1.

Changed to:

● InputBuffer.Version != 1.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.EnableIntegrity == 0, InputBuffer.KeepIntegrityStateUnchanged == 0 and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

● InputBuffer.KeepIntegrityStateUnchanged != 0, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

2021/11/23

In Section 2.1.5.9.33, FSCTL_SET_INTEGRITY_INFORMATION, added additional failure conditions.

Changed from:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

Changed to:

● InputBuffer.ChecksumAlgorithm is not one of the predefined values in [MS-FSCC] section 2.3.73.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_NONE_and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

● InputBuffer.ChecksumAlgorithm == CHECKSUM_TYPE_UNCHANGED, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags. FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFFis TRUE.

In Section 2.1.5.9.34, FSCTL_SET_INTEGRITY_INFORMATION_EX, added additional failure conditions.

Changed from:

● InputBuffer.Version != 1.

Changed to:

● InputBuffer.Version != 1.

● InputBuffer.Flags is non-zero and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is FALSE.

● InputBuffer.EnableIntegrity == 0, InputBuffer.KeepIntegrityStateUnchanged == 0 and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

● InputBuffer.KeepIntegrityStateUnchanged != 0, Open.Stream.CheckSumAlgorithm == CHECKSUM_TYPE_NONE, and InputBuffer.Flags.FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF is TRUE.

*Date format: YYYY/MM/DD