Re: [Stormdos-develop] NEW DRIVERS/DEVICES MODEL and test
Status: Planning
Brought to you by:
exhu
From: Stephane R. <sri...@to...> - 2004-04-15 16:26:32
|
This is a test reply :-)....make sure all works good. I like what I've read in there Juras, I like that device model...I think = it can make a good basis for everything else that might need a driver as wel= l. St=E9phane Richard Software Developer ----- Original Message -----=20 From: "Juras" <yb...@tu...> To: "stormdos-develop" <sto...@li...> Sent: Wednesday, April 14, 2004 8:20 AM Subject: [Stormdos-develop] NEW DRIVERS/DEVICES MODEL and test > Hello stormdos-develop, > > Post to this mail list for test purpose. > > New: DRIVERS/DEVICES model > > Drivers register virtual devices. > > a device may be of various types (and are handled as separate arrays to maximize search speed): > > - character and block > - volume (which can be mapped as disk c:, d: etc. i.e. it may be referenced in the path, has FS) > - special (no file i/o, invisible to user FS functions) > - file system (invisible to user file functions) > * aliases and substitutes - respect to every category > > An alias is a device which really refers to the same functionality devi= ce > but with another name. e.g. C: is a real volume and c: refers to C: and= is an alias. > > A substitute is a device which doesn't directly correspond to another o= ne but > sends modified requests to a linked device. e.g. G: is a substituted volume, it > modifies requests' path name to be C:\myrefdir\sss\... > > A volume is a device which accepts file IO operations and serves as a basis, > e.g. C:\mypath\myfile.txt > It has a block and file system devices attached. > > A file system device has nothing downward attached, it is used by volum= es. > > A block device has nothing downward attached, it is used by volumes and supports > I/O operations. > > A character device is almost the same as a block device but can't conta= in a file system. > > > A FS layer may operate on volumes and character/block devices only. > If a path contains a colon or slahes then only volumes are operated. > > > 1) initialize FS drivers (they simply register devices) > 2) initialize block/char drivers > 3) automount all block devices which can contain a FS > > > ---------------------- > > All devices could be sent a FLUSH request when closing the kernel etc. > > > Character device requests: > > 1) handle=3Dopen() > 2) close() > 3) eof() > 4) filelength > 5) read > 6) write > 7) flush > 8) seek > > Block device requests: > > 1) handle=3Dopen() > 2) close() > 3) eof > 4) blocks_count > 5) readblock > 6) writeblock > 7) readblocks > 8) writeblocks > 9) seek_block > 10) eof > 11) [format] > 12) block_dev_info > > Volume device requests (mainly resends them to FS device, serves as a named filter/router): > > 1) fhandle=3Dfile_open > 2) file_close > 3) file_seek > 4) file_read > 5) file_write > 6) file_eof > 7) file_findfirst > 8) file_findnext > 9) file_rename > 10) file_move > 11) file_delete > 12) file_info > 13) volume_info > 14) volume_changed > 15) volume_remount > > File system device requests: > > 0) handle=3Dmount(blockdev) > 1) fhandle=3Dfile_open > 2) file_close > 3) file_seek > 4) file_read > 5) file_write > 6) file_eof > 7) file_findfirst > 8) file_findnext > 9) file_rename > 10) file_move > 11) file_delete > 12) file_info > 13) volume_info > 14) unmount(handle) > > --=20 > Best regards, > Juras mailto:yb...@tu... > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dc= lick > _______________________________________________ > Stormdos-develop mailing list > Sto...@li... > https://lists.sourceforge.net/lists/listinfo/stormdos-develop |