Revision e4fc8781 block/qed-table.c

b/block/qed-table.c
222 222
    QEDRequest *request = read_l2_table_cb->request;
223 223
    BDRVQEDState *s = read_l2_table_cb->s;
224 224
    CachedL2Table *l2_table = request->l2_table;
225
    uint64_t l2_offset = read_l2_table_cb->l2_offset;
225 226

  
226 227
    if (ret) {
227 228
        /* can't trust loaded L2 table anymore */
228 229
        qed_unref_l2_cache_entry(l2_table);
229 230
        request->l2_table = NULL;
230 231
    } else {
231
        l2_table->offset = read_l2_table_cb->l2_offset;
232
        l2_table->offset = l2_offset;
232 233

  
233 234
        qed_commit_l2_cache_entry(&s->l2_cache, l2_table);
234 235

  
235 236
        /* This is guaranteed to succeed because we just committed the entry
236 237
         * to the cache.
237 238
         */
238
        request->l2_table = qed_find_l2_cache_entry(&s->l2_cache,
239
                                                    l2_table->offset);
239
        request->l2_table = qed_find_l2_cache_entry(&s->l2_cache, l2_offset);
240 240
        assert(request->l2_table != NULL);
241 241
    }
242 242

  

Also available in: Unified diff