Re: mke2fs - Cant get free page

Dr. Werner Fink (werner@suse.de)
Fri, 15 Aug 1997 13:10:26 +0200


> > Stupid question: Do you have add swap space before running mke2fs?
> > I've never seen such a massage with 2.0.29 or pre-2.0.31-2 and
> > more than 4Mb RAM.
>
> I saw a similar thing: while running mke2fs 1.06 on a 4 GB partition on
> an IDE hard drive, without the -c option, and with 16 MB RAM (no swap, as
> I recall), it would stop, but switching consoles and doing something in
> the other console would cause it to start again. This was under either
> 2.0.29 or Dave Miller's pre-2.0.31-2. I didn't report it at the time
> because I assumed it was just another manifestation of the problems with
> the buffer cache. I don't remember getting a "Couldn't get a free
> page....." message, but have since lost the log file for that day. Sorry.

IMHO this was a missing statement in fs/buffer.c . See pre-patch-2.0.31-6

[...]
@@ -1527,8 +1551,10 @@
#endif
ll_rw_block(WRITE, 1, &bh);
bh->b_count--;
+ next->b_count--;
}
}
+ run_task_queue(&tq_disk);
#ifdef DEBUG
if (ncount) printk("sync_old_buffers: %d dirty buffers not on dirty list\n", ncount);
printk("Wrote %d/%d buffers\n", nwritten, ndirty);
@@ -1633,6 +1659,7 @@
[...]

The run_task_queue() seems to be important one. Therefore the problem should
be solved ... I hope.

Werner