Commit:     1a2781cfa5ed8eb82bb311d684f268c1822dae69
Parent:     00c134756c5ad570a1ad3d6f93a67fc9c25a67ea
Author:     Fabio Massimo Di Nitto <[EMAIL PROTECTED]>
AuthorDate: Fri Nov 16 09:50:40 2007 +0000
Committer:  Steven Whitehouse <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 08:08:06 2008 +0000

    [GFS2] Fix runtime issue with UP kernels
    The issue is indeed UP vs SMP and it is totally random.
    spin_is_locked() is a bad assertion because there is no correct answer on 
    on UP spin_is_locked() has to return either one value or another, always.
    This means that in my setup I am lucky enough to trigger the issue and your 
    are lucky enough not to.
    the patch in attachment removes the bogus calls to BUG_ON and according to 
    (in CC and thanks for the long explanation on the problem) we can rely upon
    things like lockdep to find problem that might be trying to catch.
    Signed-off-by: Fabio M. Di Nitto <[EMAIL PROTECTED]>
    Cc: David S. Miller <[EMAIL PROTECTED]>
    Signed-off-by: Steven Whitehouse <[EMAIL PROTECTED]>
 fs/gfs2/glock.c |    3 ---
 fs/gfs2/log.c   |    2 --
 2 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index d83df68..a7f3c46 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -217,7 +217,6 @@ int gfs2_glock_put(struct gfs2_glock *gl)
        if (atomic_dec_and_test(&gl->gl_ref)) {
-               BUG_ON(spin_is_locked(&gl->gl_spin));
                gfs2_assert(sdp, gl->gl_state == LM_ST_UNLOCKED);
                gfs2_assert(sdp, list_empty(&gl->gl_reclaim));
                gfs2_assert(sdp, list_empty(&gl->gl_holders));
@@ -460,7 +459,6 @@ static void wait_on_holder(struct gfs2_holder *gh)
 static void gfs2_demote_wake(struct gfs2_glock *gl)
-       BUG_ON(!spin_is_locked(&gl->gl_spin));
        gl->gl_demote_state = LM_ST_EXCLUSIVE;
         clear_bit(GLF_DEMOTE, &gl->gl_flags);
@@ -680,7 +678,6 @@ static void gfs2_glmutex_unlock(struct gfs2_glock *gl)
        gl->gl_owner_pid = 0;
        gl->gl_ip = 0;
-       BUG_ON(!spin_is_locked(&gl->gl_spin));
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index 4dcc7a8..96dcf05 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -92,8 +92,6 @@ static void gfs2_ail1_start_one(struct gfs2_sbd *sdp, struct 
gfs2_ail *ai)
        struct buffer_head *bh;
        int retry;
-       BUG_ON(!spin_is_locked(&sdp->sd_log_lock));
        do {
                retry = 0;
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

Reply via email to