From: Kent Overstreet Date: Mon, 22 Jan 2024 23:08:51 +0000 (-0500) Subject: bcachefs: discard path uses unlock_long() X-Git-Tag: microblaze-v6.10~293^2~18 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=096386a5bcf02e4053dc8b6cacb09a8493eeee4f;p=linux-2.6-microblaze.git bcachefs: discard path uses unlock_long() Some (bad) devices can have really terrible discard latency; we don't want them blocking memory reclaim and causing warnings. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/alloc_background.c b/fs/bcachefs/alloc_background.c index 10704f2d3af5..fd3e175d8342 100644 --- a/fs/bcachefs/alloc_background.c +++ b/fs/bcachefs/alloc_background.c @@ -1715,7 +1715,7 @@ static int bch2_discard_one_bucket(struct btree_trans *trans, * This works without any other locks because this is the only * thread that removes items from the need_discard tree */ - bch2_trans_unlock(trans); + bch2_trans_unlock_long(trans); blkdev_issue_discard(ca->disk_sb.bdev, k.k->p.offset * ca->mi.bucket_size, ca->mi.bucket_size,