Describe the bug
OrbStack reports an incorrect filesystem capacity for a bind-mounted APFS external volume.
The host volume is approximately 2 TB, with about 106 GB free. However, inside a container using an OrbStack VirtioFS bind mount, statfs() reports approximately 465 TiB total capacity and 439 TiB used.
This causes applications such as Immich to display incorrect storage information.
Environment
- macOS: 15.4.1 (24E263)
- OrbStack: 2.2.3
- Docker Engine: 29.4.0
- Host filesystem: APFS
- External volume:
/Volumes/KIOKA
- Volume size: 2.0 TB
- Mount type inside container: VirtioFS
To Reproduce
-
Create a directory on an external APFS volume:
mkdir -p /Volumes/KIOKA/test-volume
-
Start a container with a bind mount:
docker run --rm \
-v /Volumes/KIOKA/test-volume:/data \
alpine:latest \
df -h /data
-
Compare the result with the host:
-
Read the filesystem statistics from a Node.js container:
docker run --rm \
-v /Volumes/KIOKA/test-volume:/data \
node:22-alpine \
node -e '
const fs = require("node:fs");
const s = fs.statfsSync("/data", { bigint: true });
console.log({
blocks: s.blocks.toString(),
bfree: s.bfree.toString(),
bavail: s.bavail.toString(),
bsize: s.bsize.toString()
});
'
Actual behavior
On the host:
/dev/disk7s1 1.8Ti 1.7Ti 106Gi 95% /Volumes/KIOKA
Inside the container, /data reports:
Filesystem Size Used Avail Use%
mac 1.9T 1.8T 107G 95% /data
However, Node.js calculates the following from statfs():
total: 465.75 TiB
used: 439.22 TiB
free: 26.53 TiB
The relevant values are:
blocks: 488374545
bfree: 27817877
bavail: 27817877
bsize: 1048576
Expected behavior
The container should receive filesystem statistics matching the host volume:
total: approximately 1.8 TiB
used: approximately 1.7 TiB
free: approximately 106 GiB
Diagnostic report (REQUIRED)
OrbStack info:
Version: 2.2.3
Commit: c83556b0ef8f1ba9a33abbb194622b6b7a1c0307 (v2.2.3)
System info:
macOS: 15.4.1 (24E263)
CPU: arm64, 10 cores
CPU model: Apple M4
Model: Mac16,10
Memory: 16 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2026-09-25T12-09-46.644794Z.zip
Screenshots and additional context (optional)
No response
This may be related to #2532, but it appears to be a different manifestation. In this case, the block count is approximately correct for the 2 TB volume, while f_bsize is reported as 1 MiB instead of approximately 4 KiB. This produces a 256x capacity inflation.
Describe the bug
OrbStack reports an incorrect filesystem capacity for a bind-mounted APFS external volume.
The host volume is approximately 2 TB, with about 106 GB free. However, inside a container using an OrbStack VirtioFS bind mount,
statfs()reports approximately 465 TiB total capacity and 439 TiB used.This causes applications such as Immich to display incorrect storage information.
Environment
/Volumes/KIOKATo Reproduce
Create a directory on an external APFS volume:
Start a container with a bind mount:
Compare the result with the host:
Read the filesystem statistics from a Node.js container:
Actual behavior
On the host:
Inside the container,
/datareports:However, Node.js calculates the following from
statfs():The relevant values are:
Expected behavior
The container should receive filesystem statistics matching the host volume:
Diagnostic report (REQUIRED)
OrbStack info:
Version: 2.2.3
Commit: c83556b0ef8f1ba9a33abbb194622b6b7a1c0307 (v2.2.3)
System info:
macOS: 15.4.1 (24E263)
CPU: arm64, 10 cores
CPU model: Apple M4
Model: Mac16,10
Memory: 16 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2026-09-25T12-09-46.644794Z.zip
Screenshots and additional context (optional)
No response
This may be related to #2532, but it appears to be a different manifestation. In this case, the block count is approximately correct for the 2 TB volume, while
f_bsizeis reported as 1 MiB instead of approximately 4 KiB. This produces a 256x capacity inflation.