lkml.org 
[lkml]   [2007]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 10/51] [GFS2] Detach buf data during in-place writeback
    Date
    From: Bob Peterson <rpeterso@redhat.com>

    This is patch 5 of 5 for bug #248176

    Metadata corruption was occurring because page references weren't
    being removed in all cases. I previously added a function called
    detach_bufdata, but I discovered there already WAS a function out
    there to do the job. It's called gfs2_meta_cache_flush. So I added
    a call to that to remove the page references.

    Signed-off-by: Bob Peterson <rpeterso@redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

    diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
    index f7c0608..00ab6c0 100644
    --- a/fs/gfs2/log.c
    +++ b/fs/gfs2/log.c
    @@ -219,6 +219,7 @@ static void gfs2_ail2_empty_one(struct gfs2_sbd *sdp, struct gfs2_ail *ai)
    {
    struct list_head *head = &ai->ai_ail2_list;
    struct gfs2_bufdata *bd;
    + struct gfs2_inode *bh_ip;

    while (!list_empty(head)) {
    bd = list_entry(head->prev, struct gfs2_bufdata,
    @@ -228,6 +229,8 @@ static void gfs2_ail2_empty_one(struct gfs2_sbd *sdp, struct gfs2_ail *ai)
    list_del(&bd->bd_ail_st_list);
    list_del(&bd->bd_ail_gl_list);
    atomic_dec(&bd->bd_gl->gl_ail_count);
    + bh_ip = GFS2_I(bd->bd_bh->b_page->mapping->host);
    + gfs2_meta_cache_flush(bh_ip);
    brelse(bd->bd_bh);
    }
    }
    --
    1.5.1.2
    -
    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: 2007-10-04 11:25    [W:0.020 / U:59.864 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site