From 33f931dac9d2999ed2812685ccddc4a4e098f9e6 Mon Sep 17 00:00:00 2001
From: adilger <adilger>
Date: Mon, 8 Sep 2003 20:14:23 +0000
Subject: [PATCH] Don't fail assertion if lock has waiters. Was apparently
 fixed in the client and development branches, but not HEAD. b=1815

---
 lustre/llite/llite_lib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c
index 791dfbc4a1..03556bcce8 100644
--- a/lustre/llite/llite_lib.c
+++ b/lustre/llite/llite_lib.c
@@ -671,7 +671,7 @@ int ll_setattr_raw(struct inode *inode, struct iattr *attr)
                  * pages.  This last one is especially bad for racing
                  * o_append users on other nodes. */
                 /* bug 1639: avoid write/truncate i_sem/DLM deadlock */
-                LASSERT(atomic_read(&inode->i_sem.count) == 0);
+                LASSERT(atomic_read(&inode->i_sem.count) <= 0);
                 up(&inode->i_sem);
                 rc = ll_extent_lock_no_validate(NULL, inode, lsm, LCK_PW,
                                                  &extent, &lockh);
-- 
GitLab