From 65cf7b5e8cdf497d557238b15e487f0c1d45b756 Mon Sep 17 00:00:00 2001 From: Gordon Ross Date: Fri, 14 Jan 2022 12:55:21 -0500 Subject: [PATCH] Allow FileInfo_Query_FileIdInformation tests on OTHERFS The test function FileInfo_Query_FileIdInformation tries to use FSCTL_READ_FILE_USN_DATA on OTHERFS, which is generally not going to work. I've modified this function to only try that on NTFS or REFS. --- .../FileInformation/FileInfo_Query_FileIdInformation.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/TestSuites/FileServer/src/FSA/TestSuite/FileInformation/FileInfo_Query_FileIdInformation.cs b/TestSuites/FileServer/src/FSA/TestSuite/FileInformation/FileInfo_Query_FileIdInformation.cs index b5f3840ec..7fd901eb9 100644 --- a/TestSuites/FileServer/src/FSA/TestSuite/FileInformation/FileInfo_Query_FileIdInformation.cs +++ b/TestSuites/FileServer/src/FSA/TestSuite/FileInformation/FileInfo_Query_FileIdInformation.cs @@ -54,12 +54,18 @@ private void FileInfo_Query_FileIdInformation(FileType fileType) FileIdInformation fileIdInfo = TypeMarshal.ToStruct(outputBuffer); + // For other file system, just skip step 3, 4 + if (this.fsaAdapter.FileSystem == FileSystem.NTFS || + this.fsaAdapter.FileSystem == FileSystem.REFS) + { + BaseTestSite.Log.Add(LogEntryKind.TestStep, "3. Get FileId by sending FSCTL_READ_FILE_USN_DATA to server."); status = this.fsaAdapter.FsCtlReadFileUSNData(3, 3, out outputBuffer); // Only version 3 USN record contains 128 bit FileReferenceNumber; BaseTestSite.Assert.AreEqual(MessageStatus.SUCCESS, status, "FSCTL_READ_FILE_USN_DATA should succeed."); USN_RECORD_V3 record = TypeMarshal.ToStruct(outputBuffer); System.Guid fileId = record.FileReferenceNumber; BaseTestSite.Assert.AreEqual(fileId, fileIdInfo.FileId, "FileId when querying FileIdInformation should be the same with FileReferenceNumber when sending FSCTL_READ_FILE_USN_DATA."); + } // We can get the 64-bit VolumeSerialNumber only by sending FSCTL_GET_NTFS_VOLUME_DATA or FSCTL_GET_REFS_VOLUME_DATA. // For other file system, just ignore this check.