Virtual File System for Node.js by mcollina · Pull Request #61478 · nodejs/node

1 min read Original article ↗

@nodejs-github-bot added lib / src

Issues and PRs related to general changes in the lib or src directory.

needs-ci

PRs that need a full CI run.

labels

Jan 22, 2026

@avivkeller avivkeller added fs

Issues and PRs related to the fs subsystem / file system.

module

Issues and PRs related to the module subsystem.

semver-minor

PRs that contain new features and should be released in the next minor version.

notable-change

PRs with changes that should be highlighted in changelogs.

needs-benchmark-ci

PR that need a benchmark CI run.

test_runner

Issues and PRs related to the test runner subsystem.

labels

Jan 22, 2026

avivkeller

@mcollina

Signed-off-by: Matteo Collina <hello@matteocollina.com>

e-dant

VFS file descriptors now use bit 30 (0x40000000) to distinguish them
from real OS file descriptors. This avoids any possibility of collision
with real fds while keeping VFS fds as valid positive integers, which
is required by unix conventions. Inspired by Yarn's MountFS approach.

@mcollina

This was referenced

Apr 7, 2026

@mcollina

tniessen

@mcollina

@mcollina @tniessen

Co-authored-by: Tobias Nießen <tniessen@tnie.de>

This was referenced

Apr 16, 2026