Rid RISCOS of "Ambiguous Disc" errors
Jon Abbott (1421) 2651 posts |
Points to note about this very irritating error:
I’d like to see two things:
|
Rick Murray (539) 13840 posts |
Alternatively, something that should have been done since RISC OS 2: simply refuse to mount (or rename?) a disc if one with that name but a different cycle ID (or however RISC OS tells) is already known to the system. Like, say, “Duplicate disc identity, please dismount the first before using this disc”? |
Rick Murray (539) 13840 posts |
And +1 for the dismount SWI. |
Gerald Holdsworth (2084) 81 posts |
Or a combination of both – autodismount if it can, otherwise refuse to mount new disc. |
Andrew Conroy (370) 740 posts |
The error message would need to tell you what the name of the duplicate disc was, otherwise you wouldn’t know which one to put back in and dismount. |
Jon Abbott (1421) 2651 posts |
I believe it checks the disc name and the ID, if they match you’re okay – if the name matches but the ID is different, it makes your life a misery. It’s usually easier to reboot as soon as you see the message as more often than not, you can’t dismount both to get it back into a clean state. I don’t believe there’s a method to flush the cache either. My thinking is: If RISCOS detects two identically titled discs with different IDs, it checks if there are any open files on the first disk. If not, simply dismount it cleanly and silently. If there are open files, warn the user, asking for the disc to be re-inserted, or offer to forcibly dismount it. This should avoid the error in most instances and give the user the option to cleanly dismount when it’s unavoidable. The SWI on the other hand would allow a filesystem to cleanly dismount itself prior to ejecting media, without have to go through the CLI. Service_DiscDismounted has always confused me, currently I believe it’s only notifying Filers so they can close directory windows; why doesn’t FileCore also act on it and perform the internal equivelant of *DISMOUNT? |
Chris Evans (457) 1614 posts |
If the OS has detected two separate discs with the same name it could in theory allow access to both, a bit like windows does when downloading two or more files of the same name ‘Accounts20151’, ‘Accounts20152’, ‘Accounts20153’… |
Jess Hampshire (158) 865 posts |
If they disks were on the same RISC OS interface ID, then ‘Ambiguous Disc. Forget first disc Y/N’ seems sensible. If they are on different interfaces, then couldn’t the default interface name be used instead? (With the forget option appearing if an additional ambiguous disk appeared on that interface) |
Andrew Conroy (370) 740 posts |
I recently had to use RISC OS 2 again for the first time in ages, and when I inserted two discs with the same name, the second gave me an error message along the lines of “A disc with this name has already been seen. Dismount first disc? OK/Cancel”. So it looks like RISC OS 2 understood this problem and had a solution, but somewhere along the way we’ve managed to lose it again! Would it be possible for this to be reintroduced, I wonder? |
Chris Mahoney (1684) 2165 posts |
I just ran into this over the weekend, and can reliably reproduce it.
This seems to be a bit different from what Jon’s described above; in my case I’m explicitly dismounting the drive but it seems that the system still remembers it, and then complains when it comes back. I agree that if RISC OS 2 could handle this then 5 certainly should be able to! |
Jeffrey Lee (213) 6048 posts |
I believe that’s a known bug in SCSIFS – you need to double-dismount (FAT?) drives for the machine to forget them properly. |
Chris Mahoney (1684) 2165 posts |
Thanks; I’ll try to keep that in mind. |