Re: Fake SCSI devices

From: Ricky Beam (jfbeam@bluetopia.net)
Date: Sat Mar 25 2000 - 16:02:28 EST


On Fri, 24 Mar 2000, Helge Hafting wrote:
>This because each machine have a disk cache, and can't know when the
>other is writing to the disk. Cache contents will be wrong after such a
>write.
>You probably can't snoop a scsi bus, and even that would be open to
>races.

Correct. If _anything_ ever writes to the disk, then other systems cache
would no longer be consistent. There would need to be a cache controller
to inform all the other machines of a write -- thie would have to be tied
almost directly into the scsi code as the write command must have been
completed (sent to the drive and acknowledged as done) before telling
everyone else to invalidate their cache for that block.

This would end up looking alot like NFS with the cache messages instead of
RPC calls. Bastardized systems like this already exist -- they are
expensive. It's been my experince that they don't work very well (all
things concidered.) Granted, it gets alot of "neat trick" points.

>If you want both to mount the same partition for writing (or one writing
>and another simultaneous read-only) please write a new filesystem where
>each machine
>ask all the others for permission (and invalidate their cached blocks)
>before each write.

Ever head of AFS? this is very close to what it's cache manager does.
(Although, writes are feed back to the server immediately and then it
 informs all the referencing caches the data changed. It's bloody mess
 on a slow (read: dialup) connection.)

--Ricky

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:16 EST