mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-30 19:48:38 -05:00 
			
		
		
		
	tst: memfs: Cleanup now properly update metadata on MainFileNode
This commit is contained in:
		| @@ -967,13 +967,19 @@ static VOID Cleanup(FSP_FILE_SYSTEM *FileSystem, | ||||
| { | ||||
|     MEMFS *Memfs = (MEMFS *)FileSystem->UserContext; | ||||
|     MEMFS_FILE_NODE *FileNode = (MEMFS_FILE_NODE *)FileNode0; | ||||
| #if defined(MEMFS_NAMED_STREAMS) | ||||
|     MEMFS_FILE_NODE *MainFileNode = 0 != FileNode->MainFileNode ? | ||||
|         FileNode->MainFileNode : FileNode; | ||||
| #else | ||||
|     MEMFS_FILE_NODE *MainFileNode = FileNode; | ||||
| #endif | ||||
|  | ||||
|     assert(0 != Flags); /* FSP_FSCTL_VOLUME_PARAMS::PostCleanupWhenModifiedOnly ensures this */ | ||||
|  | ||||
|     if (Flags & FspCleanupSetArchiveBit) | ||||
|     { | ||||
|         if (0 == (FileNode->FileInfo.FileAttributes & FILE_ATTRIBUTE_DIRECTORY)) | ||||
|             FileNode->FileInfo.FileAttributes |= FILE_ATTRIBUTE_ARCHIVE; | ||||
|         if (0 == (MainFileNode->FileInfo.FileAttributes & FILE_ATTRIBUTE_DIRECTORY)) | ||||
|             MainFileNode->FileInfo.FileAttributes |= FILE_ATTRIBUTE_ARCHIVE; | ||||
|     } | ||||
|  | ||||
|     if (Flags & (FspCleanupSetLastAccessTime | FspCleanupSetLastWriteTime | FspCleanupSetChangeTime)) | ||||
| @@ -981,11 +987,11 @@ static VOID Cleanup(FSP_FILE_SYSTEM *FileSystem, | ||||
|         UINT64 SystemTime = MemfsGetSystemTime(); | ||||
|  | ||||
|         if (Flags & FspCleanupSetLastAccessTime) | ||||
|             FileNode->FileInfo.LastAccessTime = SystemTime; | ||||
|             MainFileNode->FileInfo.LastAccessTime = SystemTime; | ||||
|         if (Flags & FspCleanupSetLastWriteTime) | ||||
|             FileNode->FileInfo.LastWriteTime = SystemTime; | ||||
|             MainFileNode->FileInfo.LastWriteTime = SystemTime; | ||||
|         if (Flags & FspCleanupSetChangeTime) | ||||
|             FileNode->FileInfo.ChangeTime = SystemTime; | ||||
|             MainFileNode->FileInfo.ChangeTime = SystemTime; | ||||
|     } | ||||
|  | ||||
|     if (Flags & FspCleanupSetAllocationSize) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user