Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a358ca8e738b6226b004efea462ac28c0a2bbb1
Commit:     8a358ca8e738b6226b004efea462ac28c0a2bbb1
Parent:     861e2369e9e7e003677f99f22c4d1f05d3ed66d3
Author:     David Teigland <[EMAIL PROTECTED]>
AuthorDate: Mon Jan 7 15:55:18 2008 -0600
Committer:  David Teigland <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 11:04:42 2008 -0600

    dlm: clear ast_type when removing from astqueue
    
    The lkb_ast_type field indicates whether the lkb is on the astqueue list.
    When clearing locks for a process, lkb's were being removed from the 
astqueue
    list without clearing the field.  If release_lockspace then happened
    immediately afterward, it could try to remove the lkb from the list a second
    time.
    
    Appears when process calls libdlm dlm_release_lockspace() which first
    closes the ls dev triggering clear_proc_locks, and then removes the ls
    (a write to control dev) causing release_lockspace().
    
    Signed-off-by: David Teigland <[EMAIL PROTECTED]>
---
 fs/dlm/lock.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index ddb4628..43ca2a3 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -4678,6 +4678,7 @@ void dlm_clear_proc_locks(struct dlm_ls *ls, struct 
dlm_user_proc *proc)
        }
 
        list_for_each_entry_safe(lkb, safe, &proc->asts, lkb_astqueue) {
+               lkb->lkb_ast_type = 0;
                list_del(&lkb->lkb_astqueue);
                dlm_put_lkb(lkb);
        }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to