diff --git a/block/blk-cbt.c b/block/blk-cbt.c index 7a4303f720f..7a437356a24 100644 --- a/block/blk-cbt.c +++ b/block/blk-cbt.c @@ -98,9 +98,11 @@ static int __blk_cbt_set(struct cbt_info *cbt, blkcnt_t block, page = rcu_dereference(cbt->map[idx]); if (page) { + local_irq_disable(); spin_lock_page(page); set_bits(page_address(page), off, len, set); unlock_page(page); + local_irq_enable(); count -= len; block += len; continue;