Re: Oops in 2.4.0test1-ac17

From: Juan J. Quintela (quintela@fi.udc.es)
Date: Wed Jun 14 2000 - 20:50:51 EST


>>>>> "rik" == Rik van Riel <riel@conectiva.com.br> writes:

rik> On Wed, 14 Jun 2000, Eric Buddington wrote:
>> I'm pretty sure I compiled this from the ac17 patch, but the
>> kernel says ac16. Not sure who's right. I can get this oops
>> reproduceably somewhere in the course of mounting a minix floppy
>> and untarring files to a ramfs disk.

>> kernel BUG at page_alloc.c:97!

>> >>EIP; c012db38 <__free_pages_ok+f8/2c0> <=====
>> Trace; c0221a43 <tvecs+3a7f/150dc>
>> Trace; c0221e12 <tvecs+3e4e/150dc>
>> Trace; c0125469 <truncate_inode_pages+199/1b0>
>> Trace; c01235eb <vmtruncate+4b/150>
>> Trace; c0145033 <d_lookup+93/e0>
>> Trace; c0146c76 <inode_setattr+36/c0>
>> Trace; c0146d5b <notify_change+5b/70>
>> Trace; c012fffd <do_truncate+8d/f0>

rik> OK, this looks like either truncate_inode_pages or something
rik> else doesn't clear the PG_dirty bit.

rik> Quintela, could truncate_inode_pages be the guilty part here
rik> or would it be more related to ramfs?

Hi

        I think that the problem is that nobody was checking the dirty
bit before. When we truncate a file in the ramfs we need to clean the
dirty bit. It appears that nobody has being checking the ramfs since
the deferred swap patch.The following patch should solve the problem.
Eric could you test the patch please, and report the results?

Later, Juan.

PD. I am still interested in one script that reproduces the problem
    without the patch for the memtest suite.

diff -urN --exclude-from=/home/lfcia/quintela/work/kernel/exclude ac18/mm/filemap.c prueba/mm/filemap.c
--- ac18/mm/filemap.c Thu Jun 15 00:28:22 2000
+++ prueba/mm/filemap.c Thu Jun 15 03:46:41 2000
@@ -102,6 +102,7 @@
         if (page->buffers)
                 BUG();
 
+ ClearPageDirty(page);
         remove_page_from_inode_queue(page);
         remove_page_from_hash_queue(page);
         page->mapping = NULL;

-- 
In theory, practice and theory are the same, but in practice they 
are different -- Larry McVoy

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:33 EST