bug-hurd
[Top][All Lists]
Advanced

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

Re: system crash when much disk io


From: Neal H Walfield
Subject: Re: system crash when much disk io
Date: 31 Mar 2002 22:12:38 -0500
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.1

> > 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;
              else


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.

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]