diff --git a/doc/api/fs.md b/doc/api/fs.md index 8481a6458faf45..c235d5fb982166 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -7654,6 +7654,39 @@ StatFs { } ``` +The following example shows how to calculate disk space information from a +`StatFs` object. The total, free, and available space in bytes can be +calculated by multiplying the respective block counts by the block size +(`bsize`). + +```mjs +import { statfs } from 'node:fs/promises'; + +const stats = await statfs('/'); +const totalSpace = stats.blocks * stats.bsize; +const freeSpace = stats.bfree * stats.bsize; +const availableSpace = stats.bavail * stats.bsize; + +console.log(`Total: ${totalSpace / (1024 ** 3)} GiB`); +console.log(`Free: ${freeSpace / (1024 ** 3)} GiB`); +console.log(`Available: ${availableSpace / (1024 ** 3)} GiB`); +``` + +```cjs +const { statfs } = require('node:fs'); + +statfs('/', (err, stats) => { + if (err) throw err; + const totalSpace = stats.blocks * stats.bsize; + const freeSpace = stats.bfree * stats.bsize; + const availableSpace = stats.bavail * stats.bsize; + + console.log(`Total: ${totalSpace / (1024 ** 3)} GiB`); + console.log(`Free: ${freeSpace / (1024 ** 3)} GiB`); + console.log(`Available: ${availableSpace / (1024 ** 3)} GiB`); +}); +``` + #### `statfs.bavail`