From 57638bf3aa64facd9eba0e018b5773f5d2da6c2b Mon Sep 17 00:00:00 2001
From: David Teigland <teigland@redhat.com>
Date: Mon, 23 Apr 2012 14:08:52 -0500
Subject: dlm: avoid unnecessary search in search_rsb

If the rsb is found in the "keep" tree, but is
not the right type (i.e. not MASTER), we can
return immediately with the result.  There's
no point in going on to search the "toss" list
as if we hadn't found it.

Signed-off-by: David Teigland <teigland@redhat.com>
---
 fs/dlm/lock.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 3d35c593f4c..49926f1df23 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -479,6 +479,9 @@ static int _search_rsb(struct dlm_ls *ls, char *name, int len, int b,
 		kref_get(&r->res_ref);
 		goto out;
 	}
+	if (error == -ENOTBLK)
+		goto out;
+
 	error = dlm_search_rsb_tree(&ls->ls_rsbtbl[b].toss, name, len, flags, &r);
 	if (error)
 		goto out;
-- 
cgit v1.2.3-18-g5258