[iyonix-support] Re: Bugs in SCSIFS?

  • From: Kade Hansson <kade.hansson@xxxxxxxxxxxxxxxx>
  • To: iyonix-support@xxxxxxxxxxxxx
  • Date: Mon, 25 Jun 2007 11:02:12 +1000

Dave Higton wrote:
Presumably it would be possible to plug in a drive formatted to
ext2, ext3, reiserfs, or whatever, and RISC OS should be able
to read and write it.  Whether that's of any use to anybody is
another matter.

One other thing: I think it's time we appropriated a partition
type code for RISC OS.
Perhaps, but you do know that RISC OS FileCore/ADFS (to be referred to just as ADFS from here on out) traditionally does not use DOS-style partition tables. Instead, ADFS assumes that the first partition of a disc is its own. (Or if not, it passes it around for things like DOSFS to claim.) A trick that BSD and Linux use is that the (actually two) sector space immediately beyond the limit of that partition, if it is FileCore, is assumed to be a partition table (a so-called "RISC OS partition table,"* but it was invented for BSD and Linux)- though like no other you have ever seen. This is because you can't actually assume it is a partition table: it may be garbage, another partition or outside LBA space entirely (as is the case with a drive with just a FileCore partition.) Therefore it uses magic values like 0D05D15C (DOSDisc) and F11EC05E (FileCore) to label the partition types. Naturally ADFS already has a code in this scheme, although traditionally ADFS can only read the first partition, because it doesn't know about this scheme either.

* Many of the IDEFS and SCSIFS implementations from third parties also have their own incompatible partition schemes. But as we are talking Acorn's implementation here, I think it is best to ignore these.

If a RISC OS partition is to share with ext2/ext3 or FAT discs, I would suggest that the disc must be formatted in the BSD or Linux way (as I have just described), as this is the only way FileCore can recognise the disc as its own. It would then be possible for a module (such as the one I gather you are planning to write) to use FileCore to read beyond the disc limit (provide your own disc record) and give a filing system view on the additional partitions, just as IscaFS does. This does not interfere with the assumptions ADFS makes, and allows both to coexist in harmony without the need to rejig ADFS.

One problem with this approach is that Windows and other devices with proprietary FAT drivers, like MP3 players and cameras, will not be able to see the FAT partition. But unless we want to muck around with the ADFS code, that is probably the only approach to FileCore sharing a disc with FAT. The advantage is that BSD and Linux will be able to work the disc out, and an increasingly many embedded devices are using Linux, so there is a (admittedly slim) chance this may all work out of the box.

Good luck with your mission, should you decide to accept it,

Archer

End.

---
To alter your preferences or leave the group, visit //www.freelists.org/list/iyonix-support
Other info via //www.freelists.org/webpage/iyonix-support

Other related posts: