All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zdenek Kabelac <zkabelac@redhat.com>
To: lvm-devel@redhat.com
Subject: [RFC 0/6] Waiting for the missing device in mirror
Date: Mon, 08 Jun 2015 10:38:29 +0200	[thread overview]
Message-ID: <55755485.2080802@redhat.com> (raw)
In-Reply-To: <1433749712-11837-1-git-send-email-lzhong@suse.com>

Dne 8.6.2015 v 09:48 Lidong Zhong napsal(a):
> Hi List,
>
> The implementation here is trying to add another policy for the
> missing leg/log device in mirror. We want to wait the device for some
> time in case of a temporary device failure, especially a network disconnection
> for clvmd, to avoid a full disk recovery.
>
> This version is kind of a draft. There are many immature places to improve. So comments
> and suggestions are welcomed.
>
> The responding kernel part is here:
> https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/
> commit/?h=for-next&id=ed63287dd670f8e9d2412a913de7fdc50a689831

Hi

I think you should please start first with the very precise description what 
you are trying to achieve/fix - then we should discuss how to reach desired goal.

With very light overview of patches there are number of problem which can't 
fit lvm2 design.

#1 - Never store any device major:minor in lvm2 metadata - everything is 
strictly PV UUID oriented (there are number of daemons these days)

#2 - Activation layer & Command layer are 2 separate entities - so your 
command may run on different node then the actual activation happens (unless 
you do a local activation) -  the layer separator is ATM 'lock' - the code 
before lock and  after lock do not share any data - and the 'activation' layer 
knows only what is in written metadata on disk (just for optimization purposes 
there is some internal mechanism of caching and reusing of some existing data).

#3 - There is no 'hidden' data exchange channel via /tmp for activation - 
everything goes strictly via written and committed metadata, and for every 
such metadata state there needs to be some clear recovery path (e.g. what 
happens after 'power-off' with each committed lvm2 metadata state)

I do not yet quite understand what are you trying to achieve - but I've not 
noticed any patch for 'dmeventd' which is the actual tool that fixes broken 
mirrors - so could that tool by anyhow used for detection of some temporary 
network failures ?

Regards

Zdenek



  parent reply	other threads:[~2015-06-08  8:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-08  7:48 [RFC 0/6] Waiting for the missing device in mirror Lidong Zhong
2015-06-08  7:48 ` [RFC 1/6] Enable the keep_log feature while creating a mirror device Lidong Zhong
2015-06-08  7:48 ` [RFC 3/6] Mark a device if already being waited Lidong Zhong
2015-06-08  7:48 ` [RFC 4/6] Write the device number into metadata Lidong Zhong
2015-06-08  7:48 ` [RFC 5/6] Add another policy for the missing device -- wait Lidong Zhong
2015-06-08  7:48 ` [RFC 6/6] lvconvert: implement the wait policy Lidong Zhong
2015-06-08  8:38 ` Zdenek Kabelac [this message]
2015-06-09  3:19   ` [RFC 0/6] Waiting for the missing device in mirror Lidong Zhong
2015-06-09  7:12     ` Zdenek Kabelac

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=55755485.2080802@redhat.com \
    --to=zkabelac@redhat.com \
    --cc=lvm-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.