[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: system crash when much disk io

> > Running dselect or apt-get very often gets my hurd box on it's knees.
> > When it's 'Reading Package Lists...' , the system hangs, after giving:
> >
> > ext2fs.static: ../../ext2fs/pager.c:396: file_pager_write_page:
> > Assertion `block' failed.

Can you send us the output of `tune2fs -l /dev/PART' where part is the
partition with the package files?

I think that this patch will solve your problem:

Index: pager.c
RCS file: /cvsroot/hurd/hurd/ext2fs/pager.c,v
retrieving revision 1.69
diff -u -p -r1.69 pager.c
--- pager.c	26 Mar 2002 03:16:56 -0000	1.69
+++ pager.c	1 Apr 2002 02:52:59 -0000
@@ -644,7 +644,7 @@ diskfs_grow (struct node *node, off_t si
 	      diskfs_end_catch_exception ();
-	      if (err)
+	      if (! err)
 		/* Reflect how much we allocated successfully.  */
 		new_size = (end_block - 1) << log2_block_size;

This appears to be a case of reverse logic.

This code is only run in the case of partial pages, i.e. where disk
blocks are less than the size of virtual memory pages.  This is not
the normal case; most users will have partitions >512MB and disk
blocks of size 4k (ext2fs selects the default disk block size based on
the size of the partition: if it is >512MB, the disk block size is set
to 4k).  Thus, this code is rarely exercised.

Can you try this out and tell me if you get the error any more.


To UNSUBSCRIBE, email to debian-hurd-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Reply to: