From: Jan Kara 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; } _