Skip to content

Remove GVFS.GVFlt and ESENT legacy disk layout upgrades#1939

Merged
tyrielv merged 1 commit into
microsoft:masterfrom
tyrielv:tyrielv/net10-remove-legacy
Apr 10, 2026
Merged

Remove GVFS.GVFlt and ESENT legacy disk layout upgrades#1939
tyrielv merged 1 commit into
microsoft:masterfrom
tyrielv:tyrielv/net10-remove-legacy

Conversation

@tyrielv
Copy link
Copy Markdown
Contributor

@tyrielv tyrielv commented Apr 8, 2026

Remove GVFS.GVFlt and ESENT legacy disk layout upgrades

Summary

Remove the GVFlt compatibility shim project (legacy ProjFS predecessor) and all DiskLayout upgrade paths that depend on ManagedEsent (layouts 7→8, 8→9, 9→10, 13→14). These upgrades are 6+ years old and no longer needed.

Raises minimum supported disk layout version from 7 to 15. Users on ancient layouts must upgrade through an intermediate GVFS version first.

Removes ManagedEsent, Microsoft.Database.Collections.Generic, and Microsoft.Database.Isam NuGet packages entirely — eliminates a .NET Framework-only dependency that has no .NET 5+ target and would block the TFM retarget.

What was removed

  • GVFS.GVFlt project (entire directory) — legacy ProjFS compat shim
  • 4 DiskLayout upgrade files — 7→8, 8→9, 9→10, 13→14 (all ESENT-dependent)
  • ESENTDatabase.cs — functional test helper
  • 3 NuGet packages — ManagedEsent, Microsoft.Database.Collections.Generic, Microsoft.Database.Isam
  • 7 unit tests — ESENT-dependent upgrade tests

Review guide

  • WindowsDiskLayoutUpgradeData.cs — key file: verify minimum version raised to 15, ESENT code path removed, 4 upgrade registrations removed
  • GVFSHelpers.cs — functional test minimum version matches (15)
  • GVFS.Platform.Windows.csproj — GVFlt project ref + 3 ESENT packages removed
  • Payload.csproj / FastFetch.csproj — GVFS.GVFlt.dll removed from signing lists

Verification

  • ✅ All C# projects build
  • ✅ 793/793 unit tests pass (ESENT-dependent tests removed, count unchanged)

Context

Phase 2C+2E of .NET 10 NativeAOT migration. Stacked on #1937 (central packages).

@tyrielv tyrielv marked this pull request as ready for review April 9, 2026 15:51
@tyrielv tyrielv requested a review from KeithIsSleeping April 9, 2026 15:51
@tyrielv tyrielv enabled auto-merge April 9, 2026 16:16
Comment thread GVFS/GVFS.Platform.Windows/DiskLayoutUpgrades/WindowsDiskLayoutUpgradeData.cs Outdated
Comment thread GVFS/GVFS.Platform.Windows/DiskLayoutUpgrades/WindowsDiskLayoutUpgradeData.cs Outdated
Comment thread GVFS/GVFS.FunctionalTests/Windows/Tests/WindowsDiskLayoutUpgradeTests.cs Outdated
@tyrielv tyrielv force-pushed the tyrielv/net10-remove-legacy branch from c6578ab to 1be4aca Compare April 9, 2026 22:36
Remove the GVFlt compatibility shim project (legacy ProjFS predecessor)
and all DiskLayout upgrade paths that depend on ManagedEsent (layouts
7→8, 8→9, 9→10, 10→11, 11→12, 12→12.1, 12→13, 13→14). These upgrades
are 6+ years old and no longer needed.

Raise minimum supported disk layout version from 7 to 14. The 14→15
upgrade (ModifiedPaths) is retained so v14 repos can still upgrade.
Users on layouts below 14 must upgrade through an intermediate GVFS
version first.

Removes ManagedEsent, Microsoft.Database.Collections.Generic, and
Microsoft.Database.Isam NuGet packages entirely.

Assisted-by: Claude Opus 4.6
Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
@tyrielv tyrielv merged commit 945615d into microsoft:master Apr 10, 2026
129 of 133 checks passed
@mjcheetham mjcheetham mentioned this pull request May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants