These are the dlm patches from -next for 3.6. The first is a major internal redesign of the way master nodes are recorded. The old dirtbl hash table, which just recorded the master node of a resource, has been removed. The rsbtbl hash table has always duplicated the master value from dirtbl, but is now the only record of the master node.
Having two full hash tables of all resources has always been inefficient, especially since one just duplicated information from the other. Requests that are all local will require one instead of two lengthy hash table searches. The other substantial patch is made possible by the dirtbl removal, and fixes a long standing race between resource removal and lookup by reworking how removal is done. At the same time it improves the shrink function efficiency by avoiding repeated searches through hash buckets. David Teigland (6): dlm: use rsbtbl as resource directory dlm: use idr instead of list for recovered rsbs dlm: fix race between remove and lookup dlm: use wait_event_timeout dlm: fix conversion deadlock from recovery dlm: fix missing dir remove fs/dlm/config.c | 7 - fs/dlm/config.h | 1 - fs/dlm/debug_fs.c | 103 +++- fs/dlm/dir.c | 287 +++-------- fs/dlm/dir.h | 7 +- fs/dlm/dlm_internal.h | 62 ++- fs/dlm/lock.c | 1292 ++++++++++++++++++++++++++++++++++++++++--------- fs/dlm/lock.h | 5 +- fs/dlm/lockspace.c | 45 +- fs/dlm/rcom.c | 147 ++++-- fs/dlm/rcom.h | 1 + fs/dlm/recover.c | 295 +++++++---- fs/dlm/recover.h | 2 +- fs/dlm/recoverd.c | 14 +- 14 files changed, 1600 insertions(+), 668 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/