Skip to content
This repository was archived by the owner on Sep 13, 2026. It is now read-only.
This repository was archived by the owner on Sep 13, 2026. It is now read-only.

wsldisk has moved: it is now wslkit disk #116

Description

@zcsizmadia

This project has been reimplemented in Go as wslkit disk, part of wslkit, and this repository is now archived and read-only.

Where each command went

wsldisk wslkit
wsldisk list wslkit disk list
wsldisk info <distro> wslkit disk info <distro>
wsldisk trim <distro> wslkit disk trim <distro>
wsldisk compact [distro] wslkit disk compact [distro]
wsldisk usage <distro> wslkit disk usage <distro>
wsldisk orphans wslkit disk orphans
wsldisk relink <distro> <path> wslkit disk relink <distro> <path>
wsldisk move <distro> <dir> wslkit disk move <distro> <dir>
wsldisk config ... wslkit disk config ...
wsldisk completion <shell> wslkit completion <shell>

The flags, the exit codes and the --json shape are unchanged, so a script written against wsldisk keeps working once the command name changes.

Why

The wsl tools share most of their platform layer. Registry reading, VHDX parsing, volume queries, redaction and the undo journal were all duplicated here. One binary means one signing identity, one release, one --json contract and one exit-code contract across every tool in the kit.

Reading further

  • docs/wsldisk-parity.md tracks the port row by row, including the behaviours that each cost this project a bug report.
  • ADR 0011 records the reasoning and the three places the Go version deliberately differs: no self-elevation, hand-parsed settings, and a command-line flag that beats the config setting in either direction.

What stays here

The C++ source and its history, frozen. docs/RESEARCH.md in particular holds measurements that wslkit cites and does not repeat: the virtual disk API parameter shapes that work unelevated, how long the utility VM holds a disk after a distribution stops, and why a duplex pipe deadlocks an elevated worker.

The feat/elevate branch carries the attach-read-only compaction work. It was never wired to a flag and is not ported, because wslkit does not self-elevate.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions