diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c index 803af59..c096595 100644 --- a/drivers/md/bcache/btree.c +++ b/drivers/md/bcache/btree.c @@ -1617,7 +1617,7 @@ static bool fix_overlapping_extents(struct btree *b, { void subtract_dirty(struct bkey *k, uint64_t offset, int sectors) { - if (KEY_DIRTY(k)) + if (KEY_DIRTY(k) && b->c->devices[KEY_INODE(k)]) bcache_dev_sectors_dirty_add(b->c, KEY_INODE(k), offset, -sectors); } @@ -1813,7 +1813,7 @@ static bool btree_insert_key(struct btree *b, struct btree_op *op, insert: shift_keys(b, m, k); copy: bkey_copy(m, k); merged: - if (KEY_DIRTY(k)) + if (KEY_DIRTY(k) && b->c->devices[KEY_INODE(k)]) bcache_dev_sectors_dirty_add(b->c, KEY_INODE(k), KEY_START(k), KEY_SIZE(k));