Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConcatenationFile-like ABI implementation. #28

Open
DarkMatterCore opened this issue Jan 15, 2023 · 0 comments
Open

ConcatenationFile-like ABI implementation. #28

DarkMatterCore opened this issue Jan 15, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@DarkMatterCore
Copy link
Owner

Is your feature request related to a problem? Please describe.
Horizon OS treats directories with numbered files (e.g. 00, 01, etc.) *and* the archive bit flag set as a single file, which helps overcome the max file size limitation in FAT-based filesystems. This feature is known as ConcatenationFile.

In order to provide the user a hassle-free way to manage big files under FAT-based filesystems from UMS devices, it'd be desirable to implement a similar approach into the library.

Describe the solution you'd like
Implement a ConcatenationFile-like ABI that's capable of opening, reading and writing filesystem objects that follow the previously described layout.

Support for ConcatenationFile objects would be completely optional, would be exclusive to FAT-based filesystems, and would ideally be controlled by an additional mount flag. The feature itself would be enabled by default.

Details on how the actual implementation would be accomplished have not yet been planned. This is just something I'd like to do, because it's extremely useful for apps such as nxdumptool.

Additional context
Max file size for each part file would match the one used by Horizon OS.

@DarkMatterCore DarkMatterCore added the enhancement New feature or request label Jan 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant