| 994 | } |
| 995 | |
| 996 | int |
| 997 | CacheVC::scanUpdateDone(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) |
| 998 | { |
| 999 | Dbg(dbg_ctl_cache_scan_truss, "inside %p:scanUpdateDone", this); |
| 1000 | cancel_trigger(); |
| 1001 | // get volume lock |
| 1002 | CACHE_TRY_LOCK(lock, stripe->mutex, mutex->thread_holding); |
| 1003 | if (lock.is_locked()) { |
| 1004 | // insert a directory entry for the previous fragment |
| 1005 | dir_overwrite(&first_key, stripe, &dir, &od->first_dir, false); |
| 1006 | if (od->move_resident_alt) { |
| 1007 | dir_insert(&od->single_doc_key, stripe, &od->single_doc_dir); |
| 1008 | } |
| 1009 | ink_assert(stripe->open_read(&first_key)); |
| 1010 | ink_assert(this->od); |
| 1011 | stripe->close_write(this); |
| 1012 | SET_HANDLER(&CacheVC::scanObject); |
| 1013 | return handleEvent(EVENT_IMMEDIATE, nullptr); |
| 1014 | } else { |
| 1015 | mutex->thread_holding->schedule_in_local(this, HRTIME_MSECONDS(cache_config_mutex_retry_delay)); |
| 1016 | return EVENT_CONT; |
| 1017 | } |
| 1018 | } |
| 1019 | |
| 1020 | // set_http_info must be called before do_io_write |
| 1021 | // cluster vc does an optimization where it calls do_io_write() before |
nothing calls this directly
no test coverage detected