Bug 221629 - groupd can create duplicate global ids
groupd can create duplicate global ids
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: cman (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: David Teigland
Cluster QE
Depends On:
  Show dependency treegraph
Reported: 2007-01-05 13:47 EST by David Teigland
Modified: 2009-04-16 18:49 EDT (History)
2 users (show)

See Also:
Fixed In Version: RC
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-02-07 21:09:42 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description David Teigland 2007-01-05 13:47:08 EST
Description of problem:

groupd creates uint32 global id's for each group.  It doesn't
use them itself, but provides them to each registered app to use
if it wants.  (The dlm and gfs each use the global id in messages
to distinguish between different lockspaces/fs's.)  groupd's
method of creating these gid's (local counter | local nodeid)
can result in duplicate gid's in the cluster given a somewhat
uncommon sequence of events.

This has been sitting on my todo list for a long time, have finally
fixed it.

Version-Release number of selected component (if applicable):

How reproducible:


Steps to Reproduce:
1. mount fsX on nodeA
2. mount fsX on nodeB
3. umount fsX on nodeA
4. stop cluster stuff on nodeA
5. start cluster stuff on nodeA
6. mount fsY on nodeA
7. mount fsY on nodeB
Actual results:

dlm messages will get mixed up between the X and Y lockspaces causing
dlm recovery to be stuck

Expected results:

Additional info:
Comment 1 David Teigland 2007-01-05 13:50:31 EST
Fix checked into HEAD and RHEL5 branches.
Comment 2 Kiersten (Kerri) Anderson 2007-01-05 14:43:39 EST
Requesting blocker status for this defect.  Closes a hole discovered during dlm
recovery unit testing.  Fix is available and impact is minimal.  We are
rebuilding these packages in the next week, so can pick up this fix as well.
Comment 4 David Teigland 2007-01-05 14:57:21 EST
checked into RHEL50 branch.

Checking in app.c;
/cvs/cluster/cluster/group/daemon/app.c,v  <--  app.c
new revision:; previous revision:
Checking in cpg.c;
/cvs/cluster/cluster/group/daemon/cpg.c,v  <--  cpg.c
new revision:; previous revision:
Checking in gd_internal.h;
/cvs/cluster/cluster/group/daemon/gd_internal.h,v  <--  gd_internal.h
new revision:; previous revision:
Comment 5 RHEL Product and Program Management 2007-02-07 21:09:42 EST
A package has been built which should help the problem described in 
this bug report. This report is therefore being closed with a resolution 
of CURRENTRELEASE. You may reopen this bug report if the solution does 
not work for you.

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