Bug 835893

Summary: cmirror does not support mirrored mirrorlogs
Product: Red Hat Enterprise Linux 6 Reporter: Axel Thimm <Axel.Thimm>
Component: lvm2Assignee: Jonathan Earl Brassow <jbrassow>
Status: CLOSED WONTFIX QA Contact: Cluster QE <mspqa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: agk, cmarthal, dwysocha, heinzm, jbrassow, msnitzer, prajnoha, prockai, sbradley, thornber, zkabelac
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-30 23:06:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Axel Thimm 2012-06-27 13:09:13 UTC
Description of problem:
cmirror does not support mirrored mirrorlogs. This is a known issue, see bug #612221 comment 11:
"Mirrored log type for cluster mirrors will have to be deferred to a later release.  I will soon commit the patch that disallows this.  Reason from my patch:

Disallow mirrored logs in cluster mirrors.

The cluster log daemon (cmirrord) is not multi-threaded and
can handle only one request at a time.  When a log is stacked
on top of a mirror (which itself contains a 'core' log), it
creates a situation that cannot be solved without threading.

When the top level mirror issues a "resume", the log daemon
attempts to read from the log device to retrieve the log
state.  However, the log is a mirror which, before issuing
the read, attempts to determine the 'sync' status of the
region of the mirror which is to be read.  This sync status
request cannot be completed by the daemon because it is
blocked on a read I/O to the very mirror requesting the
sync status."

Mirrored mirrorlogs are required for a symmetrical host-based mirrored Storage setup.

See also  bug #746792, where this was recently discussed (but more on making lvcreate properly exit on such requests)

Version-Release number of selected component (if applicable):
cmirror-2.02.95-10.el6

How reproducible:
always

Steps to Reproduce:
1. lvcreate ... --mirrorlog mirrored ... on a clustered VG
2.
3.
  
Actual results:
The request is rejected due to cmirror not being able to handle it.

Expected results:
(clustered) mirrored mirrorlogs should be a feature of RHEL.

Additional info:
HA LVM will probably work with mirrored mirrorlogs, so for some applications this may be a viable workaround.

Comment 4 RHEL Program Management 2012-07-30 23:06:13 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.