[Cluster-devel] [PATCH 5/5] gfs2: dlm based recovery coordination

2011-12-16 Thread David Teigland
This new method of managing recovery is an alternative to the previous approach of using the userland gfs_controld. - use dlm slot numbers to assign journal id's - use dlm recovery callbacks to initiate journal recovery - use a dlm lock to determine the first node to mount fs - use a dlm lock to t

[Cluster-devel] [PATCH 4/5] dlm: add recovery callbacks

2011-12-16 Thread David Teigland
These new callbacks notify the dlm user about lock recovery. GFS2, and possibly others, need to be aware of when the dlm will be doing lock recovery for a failed lockspace member. In the past, this coordination has been done between dlm and file system daemons in userspace, which then direct their

[Cluster-devel] [PATCH 2/5] dlm: move recovery barrier calls

2011-12-16 Thread David Teigland
Put all the calls to recovery barriers in the same function to clarify where they each happen. Should not change any behavior. Also modify some recovery debug lines to make them consistent. Signed-off-by: David Teigland --- fs/dlm/dir.c |1 - fs/dlm/member.c |7 +-- fs/dlm/re

[Cluster-devel] [PATCH 1/5] dlm: convert rsb list to rb_tree

2011-12-16 Thread David Teigland
From: Bob Peterson Change the linked lists to rb_tree's in the rsb hash table to speed up searches. Slow rsb searches were having a large impact on gfs2 performance due to the large number of dlm locks gfs2 uses. Signed-off-by: Bob Peterson Signed-off-by: David Teigland --- fs/dlm/debug_fs.c

[Cluster-devel] [PATCH 3/5] dlm: add node slots and generation

2011-12-16 Thread David Teigland
Slot numbers are assigned to nodes when they join the lockspace. The slot number chosen is the minimum unused value starting at 1. Once a node is assigned a slot, that slot number will not change while the node remains a lockspace member. If the node leaves and rejoins it can be assigned a new slo

[Cluster-devel] dlm patches

2011-12-16 Thread David Teigland
This is the current series of dlm patches from https://github.com/teigland/linux-dlm/tree/devel9 The first is already pushed to linux-next for the next merge cycle. The others, which allow gfs2 to be used without gfs_controld, are still being tested, and may be ready for the next merge cycle, depe

Re: [Cluster-devel] libgfs2: Add iovec to gfs2_buffer_head

2011-12-16 Thread Andrew Price
Hi, On 16/12/11 14:24, Steven Whitehouse wrote: So that we keep track of buffer sizes, add an iovec to the gfs2_buffer_head structure. This uses an unnamed union in order to be backwards compatible with users of b_data. Signed-off-by: Steven Whitehouse Looks good to me, Andy diff --git a

[Cluster-devel] libgfs2: Add iovec to gfs2_buffer_head

2011-12-16 Thread Steven Whitehouse
So that we keep track of buffer sizes, add an iovec to the gfs2_buffer_head structure. This uses an unnamed union in order to be backwards compatible with users of b_data. Signed-off-by: Steven Whitehouse diff --git a/gfs2/libgfs2/buf.c b/gfs2/libgfs2/buf.c index 445b0ba..956dd8b 100644 --- a/g