[ros-dev] This is a scrap of a Idea on how to do the file system and It might be a really bad idea.

Peter Dolding oiaohm at bluebottle.com
Fri Mar 31 14:34:23 CEST 2006


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


More information about the Ros-dev mailing list