Skip to content

Add filesystem allocation support - #1742

Open
JSCU-CNI wants to merge 2 commits into
fox-it:mainfrom
JSCU-CNI:disk-allocation
Open

Add filesystem allocation support#1742
JSCU-CNI wants to merge 2 commits into
fox-it:mainfrom
JSCU-CNI:disk-allocation

Conversation

@JSCU-CNI

Copy link
Copy Markdown
Contributor

This pull requests adds support for distinguishing which parts of a filesystem are in use and which ones are not. Filesystem classes can implement a few functions that yield unallocated or allocated streams, or a tuple containing one stream for each.

The PR includes implementations of these functions for NTFS and EXTFS. They depend on functionality added in fox-it/dissect.ntfs#58 and fox-it/dissect.extfs#52 which themselves depend on fox-it/dissect.util#127 .

We have added one small extension to target-mount to expose the different streams when filesystems support it.

In the future we hope more scraping functionality can use the distinction between the allocated/unallocated space. In particular we were thinking about #1329. It would be nice to have one function that can assemble streams for scraping while taking some preferences into account (in this case, allocated only, unallocated only, or don't care). create_streams seems to be a good candidate.

@JSCU-CNI JSCU-CNI changed the title Disk allocation Add filesystem allocation support Apr 30, 2026
@JSCU-CNI

Copy link
Copy Markdown
Contributor Author

@Schamper and other reviewers, any chance you can fast-track the review of this PR, as well as fox-it/dissect.extfs#52 and fox-it/dissect.ntfs#58?

The dependency-chain gives us quite a headache and prevents us from building on top of this. If you think it will be a while that's also okay but then we know we'll have to work around it for now.

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