• Kent Overstreet's avatar
    bcachefs: Fix copygc threshold · cb66fc5f
    Kent Overstreet authored
    Awhile back the meaning of is_available_bucket() and thus also
    bch_dev_usage->buckets_unavailable changed to include buckets that are
    owned by the allocator - this was so that the stat could be persisted
    like other allocation information, and wouldn't have to be regenerated
    by walking each bucket at mount time.
    
    This broke copygc, which needs to consider buckets that are reclaimable
    and haven't yet been grabbed by the allocator thread and moved onta
    freelist. This patch fixes that by adding dev_buckets_reclaimable() for
    copygc and the allocator thread, and cleans up some of the callers a bit.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    cb66fc5f
bcachefs.h 27 KB