• Kent Overstreet's avatar
    bcachefs: Move extent_handle_overwrites() to bch2_trans_update() · 8e6bbc41
    Kent Overstreet authored
    This lifts handling of overlapping extents out of __bch2_trans_commit()
    and moves it to where we first do the update - which means that
    BTREE_ITER_WITH_UPDATES can now work correctly in extents mode.
    
    Also, this patch reworks how extent triggers work: previously, on
    partial extent overwrite we would pass this information to the trigger,
    telling it what part of the extent was being overwritten. But, this
    approach has had too many subtle corner cases - now, we only mark whole
    extents, meaning on partial extent overwrite we unmark the old extent
    and mark the new extent.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
    8e6bbc41
buckets.c 57.6 KB