FS Error 5A

discussion of beeb/electron applications, languages, utils and educational s/w
Post Reply
User avatar
BeebMaster
Posts: 2634
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

FS Error 5A

Post by BeebMaster » Sun Jan 04, 2015 4:38 pm

This error happens when the L3 file server is starting and it means duplicate disc names, like you've tried to start with two floppies and they're both called "Master" or something like that.

More often than not it happens due to an incorrect setting of the "next drive" field when initialising a Level 3 server disc. This is actually stored on the disc as an increment from the number of the drive being initialised, not an absolute number. If it gets stored as zero then it tries to mount the same disc again and exits with the error 5A.

So what I can't understand is why I can't start the file server with my old partially blanked disc and newly made up disc.

In CF drive first slot is CF card with 2 ADFS drives, 0 is the partially blanked one, with the Econet area wiped, 1 is OK and has 18,000 pages of Teletext on it.

In the second slot is the new card I've prepared today with 2 ADFS drives, 2 and 3.

Each of the 3 L3 file server areas has a next drive increment of 1 stored on it. I have an editor which allows me to change this value so I can play about.

I thought I would be able to start the file server using *MOUNT 1 and selecting 3 drives. Theoretically it should:

Find the L3 area in drive 1 and mount that. Read its increment of 1 and then mount 1+1=2, read drive 2's increment of 1 and mount 2+1=3 and then start the server with all 3 discs available.

But every time I get FS Error 5A.

If I *MOUNT 2 and select 2 drives then I get both of the new drives 2 & 3 without any problem.

If I change drive 1's increment to 2 and *MOUNT 1 and select 2 drives then it successfully mounts drives 1 and 3.

I tried changing drive 3's increment to -2 and starting with *MOUNT 2 and 3 drives, so it should mount 2, then 3, then go back two to 1, but that didn't work either.

Something else I did gave "insert a file server disc", but I can't remember what I did, but that suggests it had gone back to looking at drive 0 which has no Econet partition on it.

It's driving me potty this, it doesn't seem to make sense!

I could do with a way of getting the file server to give me some sort of output of what it's actually doing when it's trying to mount the discs but I don't suppose that's possible!

I've definitely had 3 and 4 drives running before, I think I even had six going once for 4 CF partitions and 2 floppies, so it can be done!
Image

User avatar
BeebMaster
Posts: 2634
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: FS Error 5A

Post by BeebMaster » Sun Jan 04, 2015 7:19 pm

I've tried various combinations of CF cards with Econet partitions on them, so I'm not just using the "dodgy" one, or the new one I made earlier.

Also to keep things simple, every Econet partition has a next drive increment of 1.

I can mount 3 or 4 drives if I start off using *MOUNT 0, no problem.

Whenever I start with *MOUNT 1, I can only mount 1 drive. 2 or 3 or 4 do not work, and I always get the 5A error after about a minute, which is how long it takes to read in the free space map of one drive.

*MOUNT 2 is slightly different - I can mount 2 drives, but 3 drives gives me the FS Error 5A after 2 minutes without looking at the floppy drive.

*MOUNT 3 won't do 2 or 3 drives, I get the error after a minute without any access of the floppy.

Perplexed - is it something to do with the way ADFS ORs or EORs the drive number that's confusing the server?
Image

User avatar
BeebMaster
Posts: 2634
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: FS Error 5A

Post by BeebMaster » Mon Mar 30, 2015 9:55 am

This is still happening, and I don't understand why.

Currently I have 2 CF cards, so 4 ADFS drives, each with a L3 partition on them:

0 Kingston1A
1 Kingston1B
2 Kingston3
3 Kingston4

Starting the file server with 0 mounted, choosing 3 or 4 drives is OK.
But as soon as I mount 1, choosing 2 or 3 drives gives me FS Error 5A.

It seems to be something to do with changing from the first CF card to the second, after the first drive is mounted. It doesn't happen any other time.

Ideally I want Kingston1B and Kingston3 only to be available in the file server, to reduce the amount of cache used up by the space bitmaps, as I keep getting FS Error 3A (cache full) every time I create a directory.
Image

User avatar
jgharston
Posts: 3296
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: FS Error 5A

Post by jgharston » Mon Mar 30, 2015 9:43 pm

BeebMaster wrote:Perplexed - is it something to do with the way ADFS ORs or EORs the drive number that's confusing the server?
ADFS internally ORs the drive number requested by the OSWORD &72 call with the *MOUNTed drive number. If you *MOUNT 0, then the drive number accessed is the raw drive number. If you *MOUNT 1 then you can only access drive 1 and 3. 0 OR 1=1, 1 OR 1=1, 2 OR 1=3, 3 OR 1=3. If you *MOUNT 2 then you can only access drive 2 and 3.

So, when you *MOUNT 1 the file server software looks at "drive 0" which accesses drive 1. It then increments the drive number and looks at "drive 1" which accesses drive 1 - and the file server software sees that the disk has the same name a disk it's already looked at and complains.

It's really annoying, but essentially, to make ADFS's low level calls work as you would expect them to work, you have to *MOUNT 0 before you do anything.
BeebMaster wrote:Currently I have 2 CF cards, so 4 ADFS drives, each with a L3 partition on them:

0 Kingston1A
1 Kingston1B
2 Kingston3
3 Kingston4

Ideally I want Kingston1B and Kingston3 only to be available in the file server,
You would have to rearrange them. Either have:
0 Kingston1B
1 Kingston3
2 Kingston4
3 Kingston1A
MOUNT drive 0 and select 2 drives

or:
0 Kingston1A
1 Kingston4
2 Kingston1B
3 Kingston3
MOUNT drive 2 and select 2 drives. The file server software will see drive (0 OR 2)=2 and drive (1 OR 2)=3.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
BeebMaster
Posts: 2634
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: FS Error 5A

Post by BeebMaster » Tue Mar 31, 2015 9:14 pm

Thanks for that explanation, I suspected it was something to do with the way ADFS interprets the drive numbers.

It looks like there is no way to get drive 2 available if you start from drive 1. I had the bright idea of messing about with the next drive increment stored on the disc, but that didn't work. I changed it from 1 to 2 on drive 1 but all it did is 0+2 OR 1 =3 so I ended up with Kingston4 instead of Kingston3.

Negative increment numbers didn't work either.

I see there's an ADFS version 1.32 around, I think it's either a Solidisk or Watford version, which works with CF drives. I tried that in case it did something different with the drive numbers, but it doesn't work with the Tube so I couldn't even load the file server software.

Not to worry, I'll have to live with it, and I'm managing at the minute. I was trying to reduce the number of discs to increase the cache size. I'd identified a peculiar problem where creating a 255 entry directory (I prefer them so that the file server doesn't have to extend the directory size at a later time, although I haven't actually proven whether it helps or not) whilst within a 255 entry directory was breaking the file server with the cache full FS error because the cache size was lower than 2 * &19F8 (the max dir size). I can just about get enough cache space with 3 discs if I use a Stations setting of 3.
Image

User avatar
jgharston
Posts: 3296
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: FS Error 5A

Post by jgharston » Tue Mar 31, 2015 10:16 pm

BeebMaster wrote:Thanks for that explanation, I suspected it was something to do with the way ADFS interprets the drive numbers.
When I wrote the IDE patch for ADFS I was sooooo sorely tempted to remove the ORA currentdrive from the drive access code, but was concerned I wasn't sure if that would break a significant amount of software.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
BeebMaster
Posts: 2634
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: FS Error 5A

Post by BeebMaster » Fri Apr 03, 2015 11:23 am

Well, I'm game, it can't make anything worse (hopefully...probably...)

Do I NOP it out? Where is it in ADFS 1.33/1.53?
Image

User avatar
BeebMaster
Posts: 2634
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: FS Error 5A

Post by BeebMaster » Wed May 30, 2018 10:57 pm

This problem is partially fixed in Level 3 FS version 1.24/5.

It ignores the duplicate drive error caused by the way ADFS interprets drive numbers and allows the file server to start, but ignoring the second disc altogether.

So whereas previously *MOUNT 1 then selecting 2 drives would give FS Error 5A, now the file server starts but only the file server disc on drive 1 is mounted.
Image

Post Reply