lkml.org 
[lkml]   [2004]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Possible dcache BUG
    Date
    On Friday 13 August 2004 22:18, Marcelo Tosatti wrote:
    [...]
    >
    >Hi fellows,
    >
    >I've taken some time to look at this oopses, and I truly believe we
    >are facing real corruption.
    >
    >The symptom is that an inode's (blockdev) i_mapping->private_list
    > gets corrupted, one of its buffer_head's contains a b_assoc_mapping
    > list_head with NULL pointers.
    >
    >And this is not an SMP race, because Gene is not running SMP.
    >
    >Gene's oops happens when remove_inode_buffers calls
    > __remove_assoc_queue(bh)
    >
    >Ingo's oops happens while remove_inode_buffers does
    >
    > struct buffer_head *bh = BH_ENTRY(list->next);
    >
    >which is
    >
    > mov ffffffd8(%ecx), (%somewhere)
    >
    >%ecx is zero, so...
    >
    >There is a bug somewhere.
    >
    >--- a/fs/buffer.c.original 2004-08-14 00:19:55.000000000 -0300
    >+++ b/fs/buffer.c 2004-08-14 00:34:57.000000000 -0300
    >@@ -802,6 +802,8 @@
    > */
    > static inline void __remove_assoc_queue(struct buffer_head *bh)
    > {
    >+ BUG_ON(bh->b_assoc_buffers.next == NULL);
    >+ BUG_ON(bh->b_assoc_buffers.prev == NULL);
    > list_del_init(&bh->b_assoc_buffers);
    > }
    >
    >@@ -1073,6 +1075,7 @@
    >
    > spin_lock(&buffer_mapping->private_lock);
    > while (!list_empty(list)) {
    >+ BUG_ON(list->next == NULL);
    > struct buffer_head *bh = BH_ENTRY(list->next);
    During the compile, the above line output this warning:
    fs/buffer.c: In function `remove_inode_buffers':
    fs/buffer.c:1079: warning: ISO C90 forbids mixed declarations and code
    Did the compiler do the right thing? Or is this perchance the bug?
    > if (buffer_dirty(bh)) {
    > ret = 0;

    In any event, its getting sleepy out, good night all.

    --
    Cheers, Gene
    "There are four boxes to be used in defense of liberty:
    soap, ballot, jury, and ammo. Please use in that order."
    -Ed Howdershelt (Author)
    99.24% setiathome rank, not too shabby for a WV hillbilly
    Yahoo.com attorneys please note, additions to this message
    by Gene Heskett are:
    Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:05    [W:0.023 / U:119.788 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site