[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Base Operating System and Extensions Technical Reference, Volume 1

lvm_resynclv Subroutine

Purpose

Synchronizes all physical copies of all of the logical partitions for a logical volume.

Library

Logical Volume Manager Library (liblvm.a)

Syntax

#include <lvm.h>
int lvm_resynclv (LV_ID, Force)
struct Lv_id *LV_ID;
int Force;

Description

Note: You must have root user authority to use this subroutine.

The lvm_resynclv subroutine synchronizes all physical copies of a logical partition for each logical partition of the logical volume specified by the LV_ID parameter. The volume group must be varied on or an error is returned.

The Force parameter is used to specify whether all physical copies or only stale physical copies of a logical partition are to be resynchronized. When the Force parameter is False, a good physical copy is propagated only to the stale physical copies. This is sufficient for most logical volumes.

If the Force parameter is True, a good physical copy is chosen and propagated to all other copies of the logical partition whether or not they are stale. Setting the Force parameter to True is sometimes necessary in cases in which mirror-write consistency recovery was not specified for the logical volume. This is especially important after a crash occurs while writing to the logical volume. It is recommended that mirror write consistency be selected for most mirrored logical volumes. For more information on mirror write consistency, see the lvm_createlv and lvm_changelv subroutines.

Parameters

LV_ID Specifies the logical volume name.
Force Specifies which physical copies of a logical partition will be resynchronized.

Return Values

Upon successful completion, the lvm_resynclv subroutine returns a value of 0.

Error Codes

If the lvm_resynclv subroutine fails, it returns one of the following error codes:

LVM_ALLOCERR A memory allocation error occurred.
LVM_DALVOPN The logical volume reserved by the volume group could not be opened.
LVM_FORCEOFF The volume group has been forcefully varied off due to a loss of quorum.
LVM_INVALID_MIN_NUM An invalid minor number was received.
LVM_INVALID_PARAM One of the fields passed in did not have a valid value.
LVM_INV_DEVENT A device has a major number that does not correspond to the volume group being worked in.
LVM_MAPFBSY The volume group is currently locked because system management on the volume group is being done by another process.
LVM_MAPFOPN The mapped file, which contains a copy of the volume group descriptor area used for making changes to the volume group, could not be opened.
LVM_MAPFRDWR An error occurred while trying to read or write the mapped file.
LVM_NOTCHARDEV A device is not a raw or character device.
LVM_NOTSYNCED The logical volume could not be completely resynced.
LVM_OFFLINE The volume group is offline and should be online.
LVM_WRTDAERR An error occurred while trying to initialize either the Volume Group Descriptor Area, the Volume Group Status Area, or the Mirror-Write Consistency Cache Area on the physical volume.

Implementation Specifics

This subroutine is part of Base Operating System (BOS) Runtime.

Related Information

The lvm_changelv subroutine, lvm_createlv subroutine, lvm_resynclp subroutine, lvm_resyncpv subroutine, lvm_varyonvg subroutine.

List of Logical Volume Subroutines and Logical Volume Programming Overview in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]