Index Index for
Section 3
Index Alphabetical
listing for D
Bottom of page Bottom of
page

dlm_rd_collect(3)

NAME

dlm_rd_collect - Initiates the recovery procedure for a specified recovery domain by collecting those locks on resources in the domain that have invalid lock value blocks

LIBRARY

Distributed Lock Manager Library (libdlm.a)

SYNOPSIS

#include <sys/dlm.h> dlm_status_t dlm_rd_collect ( dlm_rd_id_t rd_id, dlm_rd_collection_hndl_t * hndl_p, dlm_rd_flags_t collect_flag );

PARAMETERS

rd_id Specifies the recovery domain ID returned by a previous call to dlm_rd_attach. hndl_p Specifies a pointer to a location to which dlm_rd_collect() returns a handle that identifies this particular recovery domain collection. collect_flag Reserved by Compaq for future use. This parameter must be zero (0).

DESCRIPTION

The dlm_rd_collect() function initiates the recovery procedure for a specified recovery domain by collecting those resources in the domain that have invalid value blocks. It returns a handle that identifies the collection to the calling process. To complete the recovery of the recovery domain, the process specifies the collection handle in a subsequent call to the dlm_rd_validate() function. The dlm_rd_validate() function validates the resources in the collection. A process may not call dlm_rd_collect() twice for the same recovery domain without an intervening call to dlm_rd_validate(). As a result of the dlm_rd_collect() call, the distributed lock manager (DLM) sets the state of the specified recovery domain to indicate it is in recovery, regardless of whether there are resources to be collected. If there are no resources to be collected, the DLM creates an empty collection. If the collecting process fails, the DLM makes the resources that were on its collection queue eligible for collection again. To validate these resources, another process must reissue the dlm_rd_collect() call and proceed to call dlm_rd_validate() on the returned recovery domain collection handle. Similarly, if a member system fails, all collections owned by its processes are deleted, and their resources again made eligible for collection.

RETURN VALUES

Upon completion, the dlm_rd_collect() function call returns one of the following values: DLM_SUCCESS The resources with invalid value blocks in the recovery domain were collected successfully. The DLM marks the recovery domain's state as needing recovery. DLM_BADPARAM The value of the rd_id parameter was out of the range for valid resource domain IDs, or value of the collect_flag flag was nonzero. DLM_EALREADY The specified recovery domain has been collected (as an object of a dlm_rd_collect() function call) but has not yet been validated (as the object of a dlm_rd_validate() function call). DLM_EFAULT The hndl_p parameter points to an invalid memory location. DLM_ENOSYS The DLM is not enabled. DLM_IVRDID No existing recovery domain corresponds to the value of the rd_id parameter. DLM_NO_GROUP The rd_id parameter is a recovery domain ID owned by a process lock group to which the process does not belong. DLM_NOTATTACHED The process has not yet called the dlm_nsjoin() function to attach to a DLM namespace.

FILES

/usr/include/sys/dlm.h DLM library header file.

RELATED INFORMATION

Functions: dlm_cancel(3), dlm_cvt(3), dlm_detach(3), dlm_get_lkinfo(3), dlm_get_rsbinfo(3), dlm_glc_create(3), dlm_glc_detach(3), dlm_glc_destroy(3), dlm_lock(3) dlm_notify(3), dlm_nsjoin(3), dlm_nsleave(3), dlm_perrno(3), dlm_quecvt(3), dlm_quelock(3), dlm_rd_attach(3), dlm_rd_detach(3), dlm_rd_validate(3), dlm_set_signal(3), dlm_unlock(3) File: dlm(4) TruCluster Server Cluster Highly Available Applications

Index Index for
Section 3
Index Alphabetical
listing for D
Top of page Top of
page