lkml.org 
[lkml]   [2000]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Fake SCSI devices
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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [from the cache]
©2003-2011 Jasper Spaans