btrfs_bio_free_csum has only one caller left, and that calle is always for an data inode and doesn't need zeroing of the csum pointer as that pointer will never be touched again. Just open code the conditional kfree there. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- fs/btrfs/bio.c | 3 ++- fs/btrfs/bio.h | 10 ---------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/fs/btrfs/bio.c b/fs/btrfs/bio.c index d1a545158bb0a0..cdee76e3a6121a 100644 --- a/fs/btrfs/bio.c +++ b/fs/btrfs/bio.c @@ -226,7 +226,8 @@ static void btrfs_check_read_bio(struct btrfs_bio *bbio, offset += sectorsize; } - btrfs_bio_free_csum(bbio); + if (bbio->csum != bbio->csum_inline) + kfree(bbio->csum); if (unlikely(fbio)) btrfs_repair_done(fbio); diff --git a/fs/btrfs/bio.h b/fs/btrfs/bio.h index 8d69d0b226d99b..996275eb106260 100644 --- a/fs/btrfs/bio.h +++ b/fs/btrfs/bio.h @@ -94,16 +94,6 @@ static inline void btrfs_bio_end_io(struct btrfs_bio *bbio, blk_status_t status) bbio->end_io(bbio); } -static inline void btrfs_bio_free_csum(struct btrfs_bio *bbio) -{ - if (bbio->is_metadata) - return; - if (bbio->csum != bbio->csum_inline) { - kfree(bbio->csum); - bbio->csum = NULL; - } -} - /* * Iterate through a btrfs_bio (@bbio) on a per-sector basis. * -- 2.39.0