Messages in this thread Patch in this message | | | Date | Fri, 11 Jun 1999 22:02:58 +0200 | From | Jan Kara <> | Subject | Re: Quota lockup on quotaon() with patch in 2.2.9 |
| |
> Hello, > > All of our webservers appear to be locking up right on boot when "quotaon > -a" is called when the quota-fix-2.2.9-1.diff > (383e761aec5aa55154e66acabd07d2ab) patch is applied. I told the person in > the office to read me out some EIP numbers over the phone to see if it was > in a small tight loop somewhere, but unfortunately it seems to be not very > tight. It was tight enough for me to find the place where it probably happened :-). The EIPs helped a lot. Thanks. The problem was that when initializing quota for already opened files I tried to initialize quota for devices too.. But dquot_initialize just didn't do anything and so when I came across this file-handle again I just though: Hmm, uninitialized handle. Propably it appeared when we blocked. So initialize it and restart... forever. The patch is attached (2 lines :-)) and also on ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota-fix-2.2.9-2.diff. Linus, please commit this patch (it is incremental on the one I send you some time ago...).
Honza.
--- linux/fs/dquot.c Thu May 13 22:01:52 1999 +++ linux/fs/dquot.c Fri Jun 11 12:02:26 1999 @@ -646,6 +646,8 @@ { int cnt; + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))) + return 0; if (type != -1) return inode->i_dquot[type] == NODQUOT; for (cnt = 0; cnt < MAXQUOTAS; cnt++) | |