Messages in this thread Patch in this message |  | | From | Neil Brown <> | Date | Tue, 30 Oct 2001 11:23:49 +1100 (EST) | Subject | Re: Oops: Quota race in 2.4.12? |
| |
On Sunday October 28, sim@netnation.com wrote: > Some of our dual CPU web servers with 2.4.12 are Oopsing while running > quotacheck.
And speaking of quota oopses, I have had oops while enabling quota on an active filesystem (which admittedly isn't very smart, but shouldn't oops). I think the following patch fixes it for 2.4.13. I had a quick look at the latest -ac code it doesn't have the same problem.
-------------------------------------------------------------------- Avoid Oops when quotas turned on on active filesystem
Current code sets quotas-enabled flag possibly blocks on dqget or dqput then sets dq_op
If other code call DQUOT_INIT (for example) during the block, it will oops.
--- ./fs/dquot.c 2001/10/30 00:17:23 1.1 +++ ./fs/dquot.c 2001/10/30 00:18:26 1.2 @@ -1363,6 +1363,7 @@ inode->i_flags |= S_NOQUOTA; dqopt->files[type] = f; + sb->dq_op = &dquot_operations; set_enable_flags(dqopt, type); dquot = dqget(sb, 0, type); @@ -1370,7 +1371,6 @@ dqopt->block_expire[type] = (dquot != NODQUOT) ? dquot->dq_btime : MAX_DQ_TIME; dqput(dquot); - sb->dq_op = &dquot_operations; add_dquot_ref(sb, type); up(&dqopt->dqoff_sem);
------------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |