Skip to content

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

Closed
tyrielv wants to merge 1 commit into
tyrielv/net10-central-packagesfrom
tyrielv/net10-remove-legacy
Closed

Remove GVFS.GVFlt and ESENT legacy disk layout upgrades#2
tyrielv wants to merge 1 commit into
tyrielv/net10-central-packagesfrom
tyrielv/net10-remove-legacy

Conversation

@tyrielv
Copy link
Copy Markdown
Owner

@tyrielv tyrielv commented Apr 8, 2026

Remove GVFS.GVFlt and ESENT legacy disk layout upgrades

⚠️ Stacked on microsoft#1937 — target branch is tyrielv/net10-central-packages. GitHub will retarget to master once microsoft#1937 merges.

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 updating.

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 microsoft#1937 (central packages).

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.

Raise 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.

Assisted-by: Claude Opus 4.6
Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
@tyrielv tyrielv closed this Apr 8, 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.

1 participant