lkml.org 
[lkml]   [2000]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Status of ReiserFS + Journalling
    On Thu, Oct 05, 2000 at 01:54:59PM +1100, Neil Brown wrote:
    > For RAID5 a 'stripe' is a set of blocks, one from each underlying
    > device, which are all at the same offset within their device.
    > For each stripe, one of the blocks is a "parity" block - though it is
    > a different block for each stripe (parity is rotated).
    >
    > Content of the parity block is computed from the xor of the content of
    > all the other (data) blocks.
    >
    > To update a data block, you must also update the parity block to keep
    > it consistant. For example, you can read old partity block, read old
    > data block, compute
    > newparity = oldparity xor olddata xor newdata
    > and then write out newparity and newdata.
    >
    > It is not possible (on current hardware:-) to write both newparity and
    > newdata to the different devices atomically. If the system fails
    > (e.g. power failure) between writing one and writing the other, then
    > you have an inconsistant stripe.

    Hmm, now that I think about it, this can be brought to data corruption
    even easier ... Imagine a case where a stripe isn't written completely.
    One of the drives (independently whether it's the xor one or one the
    other one) has thus invalid data.

    Now how do you decide, after boot, which drive of the set, including the
    xor drive is it the one that contains the invalid data? I think this is
    not possible.

    So you're out of luck at a trivial power failure with RAID ...

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

    \
     
     \ /
      Last update: 2005-03-22 12:39    [W:0.023 / U:179.300 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site