• Bob Peterson's avatar
    gfs2: ignore rindex_update failure in dinode_dealloc · 9b620429
    Bob Peterson authored
    Before this patch, function gfs2_dinode_dealloc would abort if it got a
    bad return code from gfs2_rindex_update(). The problem is that it left the
    dinode in the unlinked (not free) state, which meant subsequent fsck
    would clean it up and flag an error. That meant some of our QE tests
    would fail.
    
    The sole purpose of gfs2_rindex_update(), in this code path, is to read in
    any newer rgrps added by gfs2_grow. But since this is a delete operation
    it won't actually use any of those new rgrps. It can really only twiddle
    the bits from "Unlinked" to "Free" in an existing rgrp. Therefore the
    error should not prevent the transition from unlinked to free.
    
    This patch makes gfs2_dinode_dealloc ignore the bad return code and
    proceed with freeing the dinode so the QE tests will not be tripped up.
    Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    9b620429
super.c 38.5 KB