[iyonix-support] Re: 2nd harddrive problems

  • From: "David J. Ruck" <druck@xxxxxxxxxxxx>
  • To: iyonix-support@xxxxxxxxxxxxx
  • Date: Wed, 7 Mar 2007 09:14:57 +0000

Kade Hansson <kade.hansson@xxxxxxxxxxxxxxxx> wrote:
> The limit in DOSFS is basically a FileSwitch limit (although, as is
> always the case in the tangled FS web woven in RISC OS, FileCore/ADFS is
> also involved.) A file pointer or address in FileSwitch is a signed
> 32-bit number. DOSFS works as an image file system, so it can only handle
> images as big as FileSwitch's file pointer can read. i.e. 2GB.

The limit on DOSFS is primarily because its a FileCore image filing system.
i.e. it accesses the FAT partition via a file handle passed to it (even if
accessing an entire disc) so it has a 2GB limit imposed by FileCore /
FileSwitch 32 bit maximimum file size.

> If someone wrote a FileCore-based FS which implemented Windows' filing
> system (FAT,) we could work around this limit. (ADFS is not constrained
> by the 2GB limit except in terms of file sizes.) However, for DOSFS
> itself to be upgraded:

No, FileCore is for handling FileCore format discs and image filing
systems. DOSFS needs to be a direct FileSwitch client like CDFS (and
FileCore itself) then it can handle discs directly (via the sector level
interfaces in hardware drivers as ADFS).

The way the RISC OS filing system API is structured for FileCore discs 

  FileSwitch - high level filename based operations
  FileCore   - manages filecore map and directory structures
  xDFS       - provides sector level access to drive hardware e.g. ADFS

When a foriegn filing system such as DOSFS is involved:-

  FileSwitch              - high level filename based operations
  FileCore  <> ForiegnFS  - handes foreign partitions as a file
  xDFS                    - provides sector level access to drive 

The way we need it to work is:-

  FileSwitch - high level filename based operations
  ForiegnFS  - handles foreign partition formats
  xDFS       - provides sector level access to drive hardware

> - FileSwitch needs a >32-bit API (probably 64-bit) for file pointers
> (e.g. OS_Args, OS_GBPB etc.) - FileSwitch needs a >32-bit (probably
> 64-bit) aware Image FS interface - DOSFS needs to be rewritten to use
> both these new interfaces

If DOSFS was a direct FileSwitch client, it can handle any size of disc,
and would not need a 64bit FileSwitch API unless you wanted to access files
on the disc over 4GB. That is an issue affecting all filing systems and can
be addressed seperately from DOSFS.

> Another issue is that from Windows 2000 (and that means XP and Vista as
> well,) HDs on Windows are actually NTFS, not FAT. So that's a whole new
> module anyway.

FAT is still supported on removable devices which is our main interest,
because NTFS is too fragile if not properly dismounted before removal.


Email: druck@xxxxxxxxxxxx
Phone: +44- (0)7974 108301
  Web: http://www.druck.org.uk/
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: