• Brian Foster's avatar
    xfs: consider shutdown in bmapbt cursor delete assert · 1cd738b1
    Brian Foster authored
    The assert in xfs_btree_del_cursor() checks that the bmapbt block
    allocation field has been handled correctly before the cursor is
    freed. This field is used for accurate calculation of indirect block
    reservation requirements (for delayed allocations), for example.
    generic/019 reproduces a scenario where this assert fails because
    the filesystem has shutdown while in the middle of a bmbt record
    insertion. This occurs after a bmbt block has been allocated via the
    cursor but before the higher level bmap function (i.e.
    xfs_bmap_add_extent_hole_real()) completes and resets the field.
    
    Update the assert to accommodate the transient state if the
    filesystem has shutdown. While here, clean up the indentation and
    comments in the function.
    Signed-off-by: default avatarBrian Foster <bfoster@redhat.com>
    Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    1cd738b1
xfs_btree.c 126 KB