Re: Linux Buffer Cache Does Not Support Mirroring

Jeff V. Merkey (jmerkey@timpanogas.com)
Fri, 05 Nov 1999 10:16:06 -0700


Pavel,

Please let me know what you think is the best method for this. I have
forwarded the code to you to look at so you know what is needed.

Jeff

"Jeff V. Merkey" wrote:
>
> OK.
>
> So now I am convinced. I will need some help with the md driver for
> netware mirroring. perhaps it makes the most sense to merge the current
> raid1 driver or simply enhance it's capabilities to support what we
> need. Here's what we need, tell me if these things are possible with
> your current code.
>
> 1. must support block (4K block) IO r/w. Must also support moving
> "window" so the cache above can still get access to blocks during
> remirroring.
>
> 2. mirroring support is very easy. remirroing is very hard. does your
> driver support remirroring? our coe does and handles multiplr access
> cases.
>
> 3. Must be able to call into cache to locate data if a read failure
> occurs on the device. In the netware mode, during read errors, the
> mirroring driver first attempts to read the failing sectors (in groups
> of 8 - 4K) by changing the read order (interleave) since this sometimes
> will get all the data. If this fails then it queries the buffer cache
> for the missing block, it the block is not found, then it asks one of
> the mirrors (if present and in sync) for a copy prior to read
> hotfixing.
>
> hotfixing is a reserved area on the partition that is used if any
> sectors go bad on the partition. In such a case, the md driver will
> need to remap (transparently) the failing sectors to a hotfix area. We
> keep tables at offsets 20, 40, 60, and 80 of the hitfix and mirror table
> descriptors, and the hotfix table itself immediately follows these
> descriptors.
>
> We could attempt to support what we need in am md driver, but these
> drivers are all based on physical LBA rather than logical 4K block,
> which is how all these tables are maintained. What's there is somewhat
> inflexible and hard to map.
>
> The mirroring/hotfix code is attached.
>
> Please advise,
>
> Jeff
>
> Pavel Machek wrote:
> >
> > Hi!
> >
> > > Most of the code for the md drivers lacks documentation. However, RAID1
> > > is disk based, or am I missing something? THis is what I meant.
> >
> > I've ran raid5 over local partition and 2 files mounted using network
> > block device. And yes, RAID1 is partition based, so you probably are
> > missing something. With network block device, you can even do raid1
> > over one local partition and one remote partition, which is excelent
> > for high availability.
> >
> > Pavel
> > --
> > The best software in life is free (not shareware)! Pavel
> > GCM d? s-: !g p?:+ au- a--@ w+ v- C++@ UL+++ L++ N++ E++ W--- M- Y- R+
>
> ------------------------------------------------------------------------
> Name: nwvp.c
> nwvp.c Type: Notepad File (application/x-unknown-content-type-cfile)
> Encoding: base64

-
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/