New subject: This is a scrap of a Idea on how to do the file system and It might be a really bad idea.
pcode here not operational code.
initfilesystem in dll return this struct.
struct {
int func format(func statusinfo(displayinfo),options....);
int func errorcheck(func statusinfo(displayinfo),options....); Chkdsk
calls this Format could too.
int func identifyfilesystem(); // If 1 is this file system if 0 not -1
error 2 maybe ie ext3 filesystem dll ext2 close but not perfect ask user
first.
// Defrag
// Filesystem resize and move
// Funciton NULL if does not exist
char * name; // Name of filesystem.
// Other possable infomation sizes of Foppy formats
//Min and Max filesystem size.
} filesystemfuncs;
Staying as pure C might upset a few people. And not using com
Can Installer load dlls?? If so this dll is used by the installer as
well as general operation. Option add filesystem from floppy or disk as
a option.
Filesystem support becomes 3 parts.freeloader support,driver and
filesystem interface dll. Status 3 status for each filesystems.
Registry reg of filesystem dlls yes no personal no only something to be
wrong.. I was thinking more like a firefox/mozilla plugin placed in the
application directory(Program Files)/reactos/filesystem.
Ok why not just stay to fmifs. I see limitation expect we will need a
few more options than fmifs provides. No options space for file system
special options.
No interface for defrag handling. No interface for resize.
*mke2fs* [ *-c* | *-l* /filename/ ] [ *-b* /block-size/ ] [ *-f*
/fragment-size/ ] [ *-g* /blocks-per-group/ ] [ *-i* /bytes-per-inode/ ]
[ *-j* ] [ *-J* /journal-options/ ] [ *-N* /number-of-inodes/ ] [ *-n* ]
[ *-m* /reserved-blocks-percentage/ ] [ *-o* /creator-os/ ] [ *-O*
/feature/[,...] ] [ *-q* ] [ *-r* /fs-revision-level/ ] [ *-E*
/extended-options/ ] [ *-v* ] [ *-F* ] [ *-L* /volume-label/ ] [ *-M*
/last-mounted-directory/ ] [ *-S* ] [ *-T* /filesystem-type/ ] [ *-V* ]
/device/ [ /blocks-count/
Thats mke2fs to make ext2. -m reserved-block-percentage something as
far as I know unknown to windows.
Jfs as case insentive options. Ie fmifs is not really built to cope
with this.
Ok not very complete. Just a starting point. It's really messy its a idea.
I suspect over time reactos might end up with a pack of filesystems with
users only using some. This way not all of them have to be installed
and user only sees the ones they are using also tools like scandisk
defrag format... Stay the same no matter how many filesystems are added.
Peter Dolding