diff options
Diffstat (limited to 'drivers/md/bcache/writeback.c')
-rw-r--r-- | drivers/md/bcache/writeback.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c index 312032ef34f7..ab0f6b449111 100644 --- a/drivers/md/bcache/writeback.c +++ b/drivers/md/bcache/writeback.c | |||
@@ -139,12 +139,10 @@ static void write_dirty_finish(struct closure *cl) | |||
139 | 139 | ||
140 | /* This is kind of a dumb way of signalling errors. */ | 140 | /* This is kind of a dumb way of signalling errors. */ |
141 | if (KEY_DIRTY(&w->key)) { | 141 | if (KEY_DIRTY(&w->key)) { |
142 | int ret; | ||
142 | unsigned i; | 143 | unsigned i; |
143 | struct btree_op op; | ||
144 | struct keylist keys; | 144 | struct keylist keys; |
145 | int ret; | ||
146 | 145 | ||
147 | bch_btree_op_init(&op, -1); | ||
148 | bch_keylist_init(&keys); | 146 | bch_keylist_init(&keys); |
149 | 147 | ||
150 | bkey_copy(keys.top, &w->key); | 148 | bkey_copy(keys.top, &w->key); |
@@ -154,7 +152,7 @@ static void write_dirty_finish(struct closure *cl) | |||
154 | for (i = 0; i < KEY_PTRS(&w->key); i++) | 152 | for (i = 0; i < KEY_PTRS(&w->key); i++) |
155 | atomic_inc(&PTR_BUCKET(dc->disk.c, &w->key, i)->pin); | 153 | atomic_inc(&PTR_BUCKET(dc->disk.c, &w->key, i)->pin); |
156 | 154 | ||
157 | ret = bch_btree_insert(&op, dc->disk.c, &keys, NULL, &w->key); | 155 | ret = bch_btree_insert(dc->disk.c, &keys, NULL, &w->key); |
158 | 156 | ||
159 | if (ret) | 157 | if (ret) |
160 | trace_bcache_writeback_collision(&w->key); | 158 | trace_bcache_writeback_collision(&w->key); |