On Tuesday 04 June 2002 7:09 pm, Andreas Dilger wrote: > On Jun 04, 2002 16:19 +0200, Duncan Sands wrote: > > Summary: not a problem with the disk being full. This is bad. > > > > Ok, I did some more tests. Results are for 2.4.19-pre10. I applied > > Andrew's patch and filled up my disk 100% by copying a huge file > > to the partition. No journal abort occurred. I then did the same thing > > without Andrew's patch. No journal abort occurred either! (I observed > > no other problems either). Now, the abort I reported occurred when I > > was simultaneously compiling two kernels while untarring two others. > > So I became suspicious that maybe the problem came from heavy > > system load rather than the disk being full. I performed the following > > test: > > > > (1) booted 2.4.19-pre10 with mem=50M (because I have a bad bit > > around 105M). > > > > (2) while printing disk output (df) every 5 seconds simultaneously did: > > (a) untarred three kernels (tar xj) > > (b) compiled two kernels > > > > After about 5-10 minutes of this I got a journal abort while the > > filesystem was only 70% full (same message as in my original email: error > > 28 in ext3_new_inode). > > You are running out of available inodes. The call to ext3_new_inode() > is trying to allocate a new inode (not surprisingly), and this is what > Andrew's patch is fixing. It generates the same error code as when > you run out of blocks, which is -ENOSPC = -28. Hi Andreas, I performed the above test (untarring kernels while compiling) after having applied Andrew's patch. It behaved perfectly: I ran out of space (i.e. no more inodes), but there were no problems with the journal, in fact no problems at all. This looks like a good patch to submit. Thanks to you both for sorting this out. Ciao, Duncan.