All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takahiro Yasui <tyasui@redhat.com>
To: device-mapper development <dm-devel@redhat.com>
Subject: Re: Re: [RFC][PATCH 0/4] dm-log: support multi-log devices
Date: Mon, 01 Dec 2008 02:00:54 -0500	[thread overview]
Message-ID: <49338BA6.3010809@redhat.com> (raw)
In-Reply-To: <49304F41.2060205@cfl.rr.com>

Phillip Susi wrote:
> Takahiro Yasui wrote:
>> bitmap data on a log disk indicates if each region are "clean" or "dirty"
>> among mirror disks. If a bit related to a region is "1", it means that
>> the region is "clean" and data in the region is synchronized in all mirror
>> disks and they store the same data in the region. On the other hand,
>> if a bit related to a region is "0", the region is "dirty" and the region
>> is out of synchronization. It means that each mirror disk might contain
>> different data in the region.
>>
>> Therefore, a log disk contains a state of each region, but does not
>> correspond to a specific mirror device.
>>
>> This patch set introduces redundant log disk on dm-mirror.
> 
> Right... and when recording a log on every disk in the mirror, each copy
> of the log may not contain exactly the same information at any given
> time.  If you write to one disk in the mirror first, then you need to
> mark the region as dirty on that disk first, so that if the system
> crashes before you can copy the data to the other mirror, you can see
> that the first disk is more up to date than the second disk.
> 
> In other words, knowing that a region is or is not synchronized across
> each disk is not enough; if they are out of sync you need to figure out
> which disk has the most current information so it can be replicated to
> the others, don't you?
>
> Or do you just always write to the first disk first, and assume it has
> the most recent data if the region was marked as dirty in ANY of the logs?

log disks are updated in parallel and we do not know which disk has the
latest and correct data if the system crashes during write operations
on log devices. But there is no problem about it.

There are two cases we need to think about.

1) Some log devices contain "clean", but mirror devices are not synchronized

This case is problematic, but never happens, because data is written on
mirror devices after marking log devices "dirty", and make it "clean"
after write I/Os on mirror devices completed and mirrors get synchronized.

2) Some log devices contain "dirty", but mirror devices are synchronized

This case may happen but is not problematic. Just data replication of
the region among mirror devices will be done when the mirror is resumed.
This case would also happen on the system with the current single log if
the system crashes after marking a log device "dirty" and before marking
it back to "clean".

Thanks,
---
Takahiro Yasui
Hitachi Computer Products (America) Inc.

  reply	other threads:[~2008-12-01  7:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-26  0:01 [RFC][PATCH 0/4] dm-log: support multi-log devices Takahiro Yasui
2008-11-26 18:56 ` Phillip Susi
2008-11-27  7:50   ` Takahiro Yasui
2008-11-28 20:06     ` Phillip Susi
2008-12-01  7:00       ` Takahiro Yasui [this message]
2008-12-01 11:09         ` Michał Mirosław
2008-12-02  6:05           ` Takahiro Yasui
2008-12-01 16:10         ` Phillip Susi
2008-12-02  4:52           ` Takahiro Yasui
2008-12-12 20:21 ` Jonathan Brassow
2008-12-15 14:56   ` Takahiro Yasui
2008-12-20  0:13     ` malahal
2008-12-23  0:23       ` Takahiro Yasui
2008-12-23 18:02         ` malahal
2008-12-31 20:15           ` malahal
2009-01-08 18:30             ` Jonathan Brassow
2009-01-08 19:00               ` malahal
2009-01-05 15:44           ` Takahiro Yasui
2009-01-05 16:24             ` malahal
2009-01-05 17:36               ` Takahiro Yasui
2009-01-05 18:44                 ` malahal
2009-01-05 18:51                   ` Alasdair G Kergon
2009-01-05 22:21                     ` Takahiro Yasui
2009-01-05 22:26                   ` Takahiro Yasui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49338BA6.3010809@redhat.com \
    --to=tyasui@redhat.com \
    --cc=dm-devel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.