From: Jan Kara <jack@ucw.cz>

I've attached a fix for a problem in ext3 journalled quota patch - the problem
is that detecting whether dqput() sleeps was wrong and so we could possibly
schedule when holding a spinlock.


---

 25-akpm/fs/dquot.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN fs/dquot.c~ext3-journalled-quota-locking-fix fs/dquot.c
--- 25/fs/dquot.c~ext3-journalled-quota-locking-fix	Thu Apr 22 13:45:26 2004
+++ 25-akpm/fs/dquot.c	Thu Apr 22 13:45:26 2004
@@ -642,7 +642,7 @@ restart:
 /* Return 0 if dqput() won't block (note that 1 doesn't necessarily mean blocking) */
 static inline int dqput_blocks(struct dquot *dquot)
 {
-	if (atomic_read(&dquot->dq_count) <= 1 && dquot_dirty(dquot))
+	if (atomic_read(&dquot->dq_count) <= 1)
 		return 1;
 	return 0;
 }

_