2004-04-22 12:34:40

by Jan Kara

[permalink] [raw]
Subject: Fix for ext3 journalled quota

Hi!

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. If you applied the
patch for journalled quota please apply also this one.
Andrew, can you please apply the patch to your kernel?

Thanks
Honza

diff -ruX /home/jack/.kerndiffexclude linux-2.6.5-2-jquota/fs/dquot.c linux-2.6.5-3-jquota2/fs/dquot.c
--- linux-2.6.5-2-jquota/fs/dquot.c 2004-04-21 10:45:30.000000000 +0200
+++ linux-2.6.5-3-jquota2/fs/dquot.c 2004-04-21 10:50:13.000000000 +0200
@@ -642,7 +642,7 @@
/* 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;
}