Bug 178024 - RFE: Provide a way to retrieve the lock holder from cluster, if possible
Summary: RFE: Provide a way to retrieve the lock holder from cluster, if possible
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Cluster Suite
Classification: Retired
Component: magma
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Lon Hohberger
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks: 178026 178027
TreeView+ depends on / blocked
 
Reported: 2006-01-17 14:57 UTC by Lon Hohberger
Modified: 2009-04-16 20:19 UTC (History)
1 user (show)

Fixed In Version: RHBA-2006-0239
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-03-09 19:49:19 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2006:0239 0 normal SHIPPED_LIVE magma bug fix update 2006-03-09 05:00:00 UTC

Description Lon Hohberger 2006-01-17 14:57:40 UTC
Description of problem:

In order to detect deadlocks, it might be a good thing to be able to query the
underlying cluster locking system for the holder of an exclusive lock so that we
can detect deadlock easily.

This should not break existing application APIs on RHEL4 or STABLE branches, and
newer applications which understand the extension *must* be able to function
without it.

Given the above requirements, and the fact that node IDs are 64 bit in magma
(thus, simply casting the return pointer is not going to work on 32-bit
architectures), the easiest way to do this is to:

(a) Provide a new flag to clu_lock / cp_lock APIs which gets passed down to the
plugin.
(b) Failure code from the lock functions, and store the node ID in the first 64
bits of the return pointer block (which the plugin will allocate).  
(c) The caller will be expected to free this, as the caller should be expecting
it if it is using the new flag in (a).

NOTE: In future (e.g. HEAD) branches, the locking API should be changed to have
a uint64_t * pointer parameter (possibly with a new lock function call - which
need not necessarily be implemented by the plugin(s)) instead of the above hack.

Comment 1 Lon Hohberger 2006-01-24 19:20:12 UTC
Fixes in CVS - RHEL4, head, STABLE

Comment 4 Red Hat Bugzilla 2006-03-09 19:49:20 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2006-0239.html



Note You need to log in before you can comment on or make changes to this bug.