]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.fixes/ocfs2-dlm-improve-lockres-counts.patch
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / ocfs2-dlm-improve-lockres-counts.patch
diff --git a/src/patches/suse-2.6.27.31/patches.fixes/ocfs2-dlm-improve-lockres-counts.patch b/src/patches/suse-2.6.27.31/patches.fixes/ocfs2-dlm-improve-lockres-counts.patch
deleted file mode 100644 (file)
index 3ff29f4..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-From: Sunil Mushran <sunil.mushran@oracle.com>
-Date: Thu, 26 Feb 2009 15:00:44 -0800
-Subject: ocfs2/dlm: Improve lockres counts
-Patch-mainline: 2.6.30
-References: bnc#408304
-
-This patch replaces the lockres counts that tracked the number number of
-locally and remotely mastered lockres' with a current and total count. The
-total count is the number of lockres' that have been created since the dlm
-domain was created.
-
-The number of locally and remotely mastered counts can be computed using
-the locking_state output.
-
-Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
-Signed-off-by: Mark Fasheh <mfasheh@suse.com>
----
- fs/ocfs2/dlm/dlmcommon.h |    5 ++---
- fs/ocfs2/dlm/dlmdebug.c  |   12 ------------
- fs/ocfs2/dlm/dlmdomain.c |    5 ++---
- fs/ocfs2/dlm/dlmmaster.c |   27 +++++++--------------------
- 4 files changed, 11 insertions(+), 38 deletions(-)
-
-diff --git a/fs/ocfs2/dlm/dlmcommon.h b/fs/ocfs2/dlm/dlmcommon.h
-index 67b3447..e5026ce 100644
---- a/fs/ocfs2/dlm/dlmcommon.h
-+++ b/fs/ocfs2/dlm/dlmcommon.h
-@@ -159,9 +159,8 @@ struct dlm_ctxt
-       /* these give a really vague idea of the system load */
-       atomic_t mle_tot_count[DLM_MLE_NUM_TYPES];
-       atomic_t mle_cur_count[DLM_MLE_NUM_TYPES];
--      atomic_t local_resources;
--      atomic_t remote_resources;
--      atomic_t unknown_resources;
-+      atomic_t res_tot_count;
-+      atomic_t res_cur_count;
-       struct dlm_debug_ctxt *dlm_debug_ctxt;
-       struct dentry *dlm_debugfs_subroot;
-diff --git a/fs/ocfs2/dlm/dlmdebug.c b/fs/ocfs2/dlm/dlmdebug.c
-index 336a98e..d7decaa 100644
---- a/fs/ocfs2/dlm/dlmdebug.c
-+++ b/fs/ocfs2/dlm/dlmdebug.c
-@@ -763,12 +763,6 @@ static int debug_state_print(struct dlm_ctxt *dlm, struct debug_buffer *db)
-       int out = 0;
-       struct dlm_reco_node_data *node;
-       char *state;
--      int lres, rres, ures, tres;
--
--      lres = atomic_read(&dlm->local_resources);
--      rres = atomic_read(&dlm->remote_resources);
--      ures = atomic_read(&dlm->unknown_resources);
--      tres = lres + rres + ures;
-       spin_lock(&dlm->spinlock);
-@@ -811,12 +805,6 @@ static int debug_state_print(struct dlm_ctxt *dlm, struct debug_buffer *db)
-                                db->buf + out, db->len - out);
-       out += snprintf(db->buf + out, db->len - out, "\n");
--      /* Mastered Resources Total: xxx  Locally: xxx  Remotely: ... */
--      out += snprintf(db->buf + out, db->len - out,
--                      "Mastered Resources Total: %d  Locally: %d  "
--                      "Remotely: %d  Unknown: %d\n",
--                      tres, lres, rres, ures);
--
-       /* Lists: Dirty=Empty  Purge=InUse  PendingASTs=Empty  ... */
-       out += snprintf(db->buf + out, db->len - out,
-                       "Lists: Dirty=%s  Purge=%s  PendingASTs=%s  "
-diff --git a/fs/ocfs2/dlm/dlmdomain.c b/fs/ocfs2/dlm/dlmdomain.c
-index 0479bdf..4d9e6b2 100644
---- a/fs/ocfs2/dlm/dlmdomain.c
-+++ b/fs/ocfs2/dlm/dlmdomain.c
-@@ -1604,10 +1604,9 @@ static struct dlm_ctxt *dlm_alloc_ctxt(const char *domain,
-       dlm->reco.new_master = O2NM_INVALID_NODE_NUM;
-       dlm->reco.dead_node = O2NM_INVALID_NODE_NUM;
--      atomic_set(&dlm->local_resources, 0);
--      atomic_set(&dlm->remote_resources, 0);
--      atomic_set(&dlm->unknown_resources, 0);
-+      atomic_set(&dlm->res_tot_count, 0);
-+      atomic_set(&dlm->res_cur_count, 0);
-       for (i = 0; i < DLM_MLE_NUM_TYPES; ++i) {
-               atomic_set(&dlm->mle_tot_count[i], 0);
-               atomic_set(&dlm->mle_cur_count[i], 0);
-diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c
-index acfc928..d70cdd5 100644
---- a/fs/ocfs2/dlm/dlmmaster.c
-+++ b/fs/ocfs2/dlm/dlmmaster.c
-@@ -517,15 +517,6 @@ static void dlm_set_lockres_owner(struct dlm_ctxt *dlm,
- {
-       assert_spin_locked(&res->spinlock);
--      mlog_entry("%.*s, %u\n", res->lockname.len, res->lockname.name, owner);
--
--      if (owner == dlm->node_num)
--              atomic_inc(&dlm->local_resources);
--      else if (owner == DLM_LOCK_RES_OWNER_UNKNOWN)
--              atomic_inc(&dlm->unknown_resources);
--      else
--              atomic_inc(&dlm->remote_resources);
--
-       res->owner = owner;
- }
-@@ -534,17 +525,8 @@ void dlm_change_lockres_owner(struct dlm_ctxt *dlm,
- {
-       assert_spin_locked(&res->spinlock);
--      if (owner == res->owner)
--              return;
--
--      if (res->owner == dlm->node_num)
--              atomic_dec(&dlm->local_resources);
--      else if (res->owner == DLM_LOCK_RES_OWNER_UNKNOWN)
--              atomic_dec(&dlm->unknown_resources);
--      else
--              atomic_dec(&dlm->remote_resources);
--
--      dlm_set_lockres_owner(dlm, res, owner);
-+      if (owner != res->owner)
-+              dlm_set_lockres_owner(dlm, res, owner);
- }
-@@ -573,6 +555,8 @@ static void dlm_lockres_release(struct kref *kref)
-       }
-       spin_unlock(&dlm->track_lock);
-+      atomic_dec(&dlm->res_cur_count);
-+
-       dlm_put(dlm);
-       if (!hlist_unhashed(&res->hash_node) ||
-@@ -653,6 +637,9 @@ static void dlm_init_lockres(struct dlm_ctxt *dlm,
-       kref_init(&res->refs);
-+      atomic_inc(&dlm->res_tot_count);
-+      atomic_inc(&dlm->res_cur_count);
-+
-       /* just for consistency */
-       spin_lock(&res->spinlock);
-       dlm_set_lockres_owner(dlm, res, DLM_LOCK_RES_OWNER_UNKNOWN);
--- 
-1.5.6
-