home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!sunic!dkuug!diku!bombadil
- From: bombadil@diku.dk (Kristian Nielsen)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Getting a valid FileSysStartupMsg pointers.
- Message-ID: <1992Dec15.110215.18810@odin.diku.dk>
- Date: 15 Dec 92 11:02:15 GMT
- References: <1992Dec13.030020.13319@mail.cornell.edu> <37848@cbmvax.commodore.com> <1giehaINN497@nz12.rz.uni-karlsruhe.de>
- Sender: bombadil@thor.diku.dk
- Organization: Department of Computer Science, U of Copenhagen
- Lines: 52
-
- ry53@rz.uni-karlsruhe.de (Angela Schmidt) writes:
-
- >In article <37848@cbmvax.commodore.com>, jesup@cbmvax.commodore.com (Randell Jesup) writes:
-
- >Here is a part of <dos/dosextens.h>. Please have a look at the commented
- >line. Doesn't this say, that there has to be a fssm in dol_Startup?
- >Or are there disks which are no real disks...?
-
- Yes. For example the RAM: disk, or XFH:, or some network file systems
- apparently (?).
-
- >> This is an ugly area. Unfortunately, early in the Amiga days (or
- >> perhaps back in tripos), someone though strings would be neat to hold
- >> parameters for handler startups.
-
- >Grmpf. Programs like DiskCopy _need_ a fssm in dol_startup - otherwise
- >they cannot work correctely. Why do programmers make their handler
- >doing bad things with dol_startup? To annoy the user by causing his
- >machine to crash or hang up?
-
- No. In my case (XFH), the problem is that there is a handler that
- supports a filing system, but does not have an underlying exec device
- (XFH sits on top of another filing system). However, I need to pass
- information from the mountlist to the handler (to support multiple units
- etc). I started out creating a fake mountlist entry
-
- FILESYSTEM = "XFH-Handler"
- DEVICE = "dummy.device" (or just "")
- LOWCYL = 0
- HIGHCYL = 0
- [ and so on... ]
-
- However, this caused problems, and by popular demand (and because it was
- apparently the 'correct' way), I changed this to use the 'Handler'
- keyword instead and pass a string in the 'Startup' entry. Unfortunately
- this causes problems, too.
-
- The problem is that programs like 'diskcopy' apparently assume that any
- handler that satisfies 'IsFileSystem()' and has a non-null 'startup'
- field is an exec-device based filing system with a valid FSSM. This
- might be the only currently working way, but with the 'Startup' field
- documented and supported in 'mount' it seems seriously broken.
-
- I guess it's just ol' BCPL haunting the Amiga yet again.
-
- Anyway, I'd be VERY interested in any opinions on the best way to solve
- this problem (ie. how to pass information to a file system handler that
- cannot provide a valid FSSM). My current approach is to overwrite the
- 'Startup' field in the device node with NULL (!), which is a terrible
- hack IMHO.
-
- - Kristian.
-