diff options
Diffstat (limited to 'fs/ocfs2/dlm/dlmast.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmast.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/ocfs2/dlm/dlmast.c b/fs/ocfs2/dlm/dlmast.c index 01cf8cc3d286..12d5eb78a11a 100644 --- a/fs/ocfs2/dlm/dlmast.c +++ b/fs/ocfs2/dlm/dlmast.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <linux/module.h> | 28 | #include <linux/module.h> |
29 | #include <linux/fs.h> | 29 | #include <linux/fs.h> |
30 | #include <linux/types.h> | 30 | #include <linux/types.h> |
31 | #include <linux/slab.h> | ||
32 | #include <linux/highmem.h> | 31 | #include <linux/highmem.h> |
33 | #include <linux/init.h> | 32 | #include <linux/init.h> |
34 | #include <linux/sysctl.h> | 33 | #include <linux/sysctl.h> |
@@ -123,7 +122,7 @@ static void __dlm_queue_ast(struct dlm_ctxt *dlm, struct dlm_lock *lock) | |||
123 | dlm_lock_put(lock); | 122 | dlm_lock_put(lock); |
124 | /* free up the reserved bast that we are cancelling. | 123 | /* free up the reserved bast that we are cancelling. |
125 | * guaranteed that this will not be the last reserved | 124 | * guaranteed that this will not be the last reserved |
126 | * ast because *both* an ast and a bast were reserved | 125 | * ast because *both* an ast and a bast were reserved |
127 | * to get to this point. the res->spinlock will not be | 126 | * to get to this point. the res->spinlock will not be |
128 | * taken here */ | 127 | * taken here */ |
129 | dlm_lockres_release_ast(dlm, res); | 128 | dlm_lockres_release_ast(dlm, res); |
@@ -185,9 +184,8 @@ static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, | |||
185 | BUG_ON(!lksb); | 184 | BUG_ON(!lksb); |
186 | 185 | ||
187 | /* only updates if this node masters the lockres */ | 186 | /* only updates if this node masters the lockres */ |
187 | spin_lock(&res->spinlock); | ||
188 | if (res->owner == dlm->node_num) { | 188 | if (res->owner == dlm->node_num) { |
189 | |||
190 | spin_lock(&res->spinlock); | ||
191 | /* check the lksb flags for the direction */ | 189 | /* check the lksb flags for the direction */ |
192 | if (lksb->flags & DLM_LKSB_GET_LVB) { | 190 | if (lksb->flags & DLM_LKSB_GET_LVB) { |
193 | mlog(0, "getting lvb from lockres for %s node\n", | 191 | mlog(0, "getting lvb from lockres for %s node\n", |
@@ -202,8 +200,8 @@ static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, | |||
202 | * here. In the future we might want to clear it at the time | 200 | * here. In the future we might want to clear it at the time |
203 | * the put is actually done. | 201 | * the put is actually done. |
204 | */ | 202 | */ |
205 | spin_unlock(&res->spinlock); | ||
206 | } | 203 | } |
204 | spin_unlock(&res->spinlock); | ||
207 | 205 | ||
208 | /* reset any lvb flags on the lksb */ | 206 | /* reset any lvb flags on the lksb */ |
209 | lksb->flags &= ~(DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB); | 207 | lksb->flags &= ~(DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB); |