> actually BLOCK drivers are only suitable for making > FAT partitions on non-BIOS drives (e.g. USB) usable > by DOS. For other filesystems, you would use other > interfaces: CDEX / network redirector API, as used > for ISO9660 CD/DVD and for VMWare in VMSMOUNT :-)
Not necessarily. Whatever the non-native file system is (exFAT, ext?, NTFS, or whatever, including FAT32 in the case of older versions of DOS) there are two ways to do it in DOS -- a device driver or via the network redirector (I'll refer to the network redirector ans an Installable File System or IFS here, even though it isn't technically correct). A device driver has the advantage of being able to leverage the code already built into the kernel which already understands where the metadata is and what it means (the FAT table(s)), and also where the user data is and how to access and modify it. A device driver also has the advantage of basic inherent compatibility with common DOS utilities and processes like INT 25h/26h, caching (at least DOS caches like SMARTDRV, not necessarily disk caches like LBACACHE), DEFRAG, CHKDSK, and others (FORMAT and especially FDISK are a little different and can't be leveraged as easily). An IFS has the advantage of allowing access to file systems that don't resemble FAT at all. In CD's and DVD's, for example, the media is linear (a single track) and the metadata and user data are interleaved instead of being logically and physically separated. A major exception to this is DVD-RAM media, which can and often is formatted with a FAT file system (FAT32), though the sector sizes are 2k instead of 512 so are incompatible with FreeDOS as it stands today (but can work with MS-DOS and some others). The disadvantage to IFS is that there is nothing to leverage, either in the DOS kernel or the existing utilities. If you are satisfied to use utilities in other OS's for the necessary leverage (like CHKDSKing), and don't care about caching, than an IFS is OK. If not, then in addition to making the driver itself you'll need to write/modify all of the other disk management utilities too. In the case of something like exFAT or ext?, the differences between them and FAT12/16/32 are so stark that there's no way to _directly_ leverage the existing DOS code and utilities. So, whether device driver or IFS, the driver itself must totally understand how the foreign file system works, what data DOS needs (and doesn't need or needs to simulate/virtualize), and how to "translate" between the two sides. The first part, understanding the foreign file system, is the same for the device driver and IFS. The difference between the two is how the foreign data is virtualized and presented to DOS. I don't know enough detail about how any of the file systems work (even the basic FAT ones) to know for sure, but the different file systems may be similar enough that it's possible to virtualize them through a device driver and make them appear to be a FAT(32?) partition to DOS even though they really aren't. For sure it would take some fiddling with the metadata -- some of it would need to be "hidden" or made inaccessible with sector translations or "fake" directory entries or something, but the user data itself I don't think would be a problem. And, of course, read-only access is much easier to do than read/write access. An advantage to IFS is that it isn't constrained to the limitations of the underlying (virtualized) FAT file system as it is in the case of the device driver. The major limitations that are a concern, and one reason people want to expand past FAT32, are maximum file size and maximum partition size. I don't think there's a way to "virtualize" those things out of existence though a device driver (though I don't know enough to say for sure) -- those limitations would be easier to obscure/ignore in an IFS implementation. Besides the size limitations, the other major driver for wanting to extend outside of the existing FATs is for compatibility with other OS's (being able to transfer data between systems). When people start talking about adding support for other _non-mainstream_ file systems (like LEAN) to DOS, I don't think it makes a lot of sense. You really need to keep what you support mainstream (aka whatever M$ is doing). The fact that it's proprietary or that you don't like M$ is irrelevant to the fact that they are still the big gorilla and you kind of need to follow their lead even when you don't really want to. ____________________________________________________________ Meet the Graviteers: Veronica Fuog I'm Veronica and I could live on omelets. I love breakfast! http://thirdpartyoffers.juno.com/TGL3141/56128a5645ab9a560f33st02vuc ------------------------------------------------------------------------------ _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel