#DO-IT

重复就是罪恶
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

博客园开通啦

Posted on 2014-03-05 17:51  大唐歲月  阅读(185)  评论(0)    收藏  举报
static void
flashcache_free_pending_jobs(struct cache_c *dmc, struct cacheblock *cacheblk, 
                 int error)
{
    struct pending_job *pending_job, *freelist = NULL;
    int index = cacheblk - &dmc->cache[0];
    struct cache_set *cache_set = &dmc->cache_sets[index / dmc->assoc];

    VERIFY(spin_is_locked(&cache_set->set_spin_lock));
    freelist = flashcache_deq_pending(dmc, index);
    while (freelist != NULL) {
        pending_job = freelist;
        freelist = pending_job->next;
        VERIFY(cacheblk->nr_queued > 0);
        cacheblk->nr_queued--;
        flashcache_bio_endio(pending_job->bio, error, dmc, NULL);
        flashcache_free_pending_job(pending_job);
    }
    VERIFY(cacheblk->nr_queued == 0);
}

代码测试

 

file:///C:/Users/vic/Desktop/800px-Linux_kernel_map.png