#include <P_CacheDisk.h>
Inherits Continuation.

| Public Member Functions | |
| CacheDisk () | |
| ~CacheDisk () | |
| int | open (bool clear) | 
| int | open (char *s, off_t blocks, off_t skip, int hw_sector_size, int fildes, bool clear) | 
| int | clearDisk () | 
| int | clearDone (int event, void *data) | 
| int | openStart (int event, void *data) | 
| int | openDone (int event, void *data) | 
| int | sync () | 
| int | syncDone (int event, void *data) | 
| DiskVolBlock * | create_volume (int number, off_t size, int scheme) | 
| int | delete_volume (int number) | 
| int | delete_all_volumes () | 
| void | update_header () | 
| DiskVol * | get_diskvol (int vol_number) | 
| Data Fields | |
| DiskHeader * | header | 
| char * | path | 
| int | header_len | 
| AIOCallbackInternal | io | 
| off_t | len | 
| off_t | start | 
| off_t | skip | 
| off_t | num_usable_blocks | 
| int | hw_sector_size | 
| int | fd | 
| off_t | free_space | 
| off_t | wasted_space | 
| DiskVol ** | disk_vols | 
| DiskVol * | free_blocks | 
| int | num_errors | 
| int | cleared | 
| int | forced_volume_num | 
| Volume number for this disk. | |
| ats_scoped_str | hash_base_string | 
| Base string for hash seed. | |
Definition at line 88 of file P_CacheDisk.h.
| CacheDisk::CacheDisk | ( | ) |  [inline] | 
Definition at line 111 of file P_CacheDisk.h.
| CacheDisk::~CacheDisk | ( | ) | 
Definition at line 74 of file CacheDisk.cc.
References ats_free(), disk_vols, DiskVol::dpb_queue, free_blocks, header, DiskHeader::num_volumes, path, and Queue< C, L >::pop().
| int CacheDisk::clearDisk | ( | ) | 
Definition at line 97 of file CacheDisk.cc.
References ink_aiocb::aio_buf, ink_aiocb::aio_nbytes, ink_aiocb::aio_offset, AIOCallback::aiocb, delete_all_volumes(), header, header_len, ink_aio_write(), io, skip, and AIOCallback::thread.
Referenced by open(), and openStart().
| int CacheDisk::clearDone | ( | int | event, | |
| void * | data | |||
| ) | 
Definition at line 110 of file CacheDisk.cc.
References AIO_EVENT_DONE, ink_aiocb::aio_nbytes, AIOCallback::aio_result, AIOCallback::aiocb, EVENT_IMMEDIATE, ink_assert, io, openDone(), path, SET_DISK_BAD, SET_HANDLER, and Warning.
Referenced by open(), and openStart().
| DiskVolBlock * CacheDisk::create_volume | ( | int | number, | |
| off_t | size, | |||
| int | scheme | |||
| ) | 
Definition at line 204 of file CacheDisk.cc.
References DiskVolBlockQueue::b, DiskVol::disk, disk_vols, DiskVol::dpb_queue, Queue< C, L >::enqueue(), DiskVolBlock::free, free_blocks, free_space, DLL< C, L >::head, header, ink_assert, DiskVolBlock::len, MAX_VOL_SIZE, DiskVolBlockQueue::new_block, DiskHeader::num_diskvol_blks, DiskHeader::num_free, DiskHeader::num_used, DiskVol::num_volblocks, DiskHeader::num_volumes, DiskVolBlock::number, DiskVolBlock::offset, Queue< C, L >::remove(), DiskVol::size, STORE_BLOCK_SIZE, DiskVolBlock::type, VOL_BLOCK_SIZE, DiskHeader::vol_info, DiskVol::vol_number, and wasted_space.
Referenced by cplist_reconfigure(), create_volume(), and fillExclusiveDisks().
| int CacheDisk::delete_all_volumes | ( | ) | 
Definition at line 406 of file CacheDisk.cc.
References cleared, DiskVolBlock::free, header, len, DiskVolBlock::len, DiskHeader::magic, DiskHeader::num_blocks, DiskHeader::num_diskvol_blks, DiskHeader::num_free, num_usable_blocks, DiskHeader::num_used, DiskHeader::num_volumes, DiskVolBlock::offset, start, DiskVolBlock::type, update_header(), and DiskHeader::vol_info.
Referenced by clearDisk(), cplist_reconfigure(), create_config(), and fillExclusiveDisks().
| int CacheDisk::delete_volume | ( | int | number | ) | 
Definition at line 298 of file CacheDisk.cc.
References DiskVolBlockQueue::b, disk_vols, DiskVol::dpb_queue, Queue< C, L >::enqueue(), DiskVolBlock::free, free_blocks, free_space, header, DiskVolBlock::len, DiskHeader::num_free, DiskHeader::num_used, DiskVol::num_volblocks, DiskHeader::num_volumes, Queue< C, L >::remove(), DiskVol::size, and DiskVolBlock::type.
Referenced by cplist_update().
| DiskVol * CacheDisk::get_diskvol | ( | int | vol_number | ) | 
Definition at line 394 of file CacheDisk.cc.
References disk_vols, header, and DiskHeader::num_volumes.
Referenced by cplist_reconfigure(), create_volume(), and fillExclusiveDisks().
| int CacheDisk::open | ( | char * | s, | |
| off_t | blocks, | |||
| off_t | skip, | |||
| int | hw_sector_size, | |||
| int | fildes, | |||
| bool | clear | |||
| ) | 
Definition at line 28 of file CacheDisk.cc.
References AIOCallback::action, ink_aiocb::aio_buf, ink_aiocb::aio_fildes, ink_aiocb::aio_nbytes, ink_aiocb::aio_offset, ink_aiocb::aio_reqprio, AIOCallback::aiocb, ats_malloc(), ats_memalign(), ats_strdup, clearDisk(), clearDone(), disk_vols, fd, header, header_len, hw_sector_size, ink_aio_read(), io, len, MIN_VOL_SIZE, num_usable_blocks, openStart(), path, ROUND_TO_STORE_BLOCK, SET_HANDLER, skip, start, STORE_BLOCK_SIZE, and AIOCallback::thread.
| int CacheDisk::open | ( | bool | clear | ) | 
Referenced by CacheProcessor::start_internal().
| int CacheDisk::openDone | ( | int | event, | |
| void * | data | |||
| ) | 
Definition at line 165 of file CacheDisk.cc.
References cacheProcessor, CacheProcessor::diskInitialized(), ET_CALL, eventProcessor, HRTIME_MSECONDS, EventProcessor::schedule_in(), SET_HANDLER, CacheProcessor::start_done, and syncDone().
Referenced by clearDone(), and openStart().
| int CacheDisk::openStart | ( | int | event, | |
| void * | data | |||
| ) | 
Definition at line 125 of file CacheDisk.cc.
References AIO_EVENT_DONE, ink_aiocb::aio_nbytes, AIOCallback::aio_result, AIOCallback::aiocb, clearDisk(), clearDone(), cleared, DISK_HEADER_MAGIC, EVENT_IMMEDIATE, header, ink_assert, io, len, DiskHeader::magic, DiskHeader::num_blocks, openDone(), path, SET_DISK_BAD, SET_HANDLER, skip, update_header(), and Warning.
Referenced by open().
| int CacheDisk::sync | ( | ) | 
Definition at line 178 of file CacheDisk.cc.
References ink_aiocb::aio_buf, ink_aiocb::aio_nbytes, ink_aiocb::aio_offset, AIOCallback::aiocb, header, header_len, ink_aio_write(), io, skip, and AIOCallback::thread.
Referenced by CacheProcessor::diskInitialized().
| int CacheDisk::syncDone | ( | int | event, | |
| void * | data | |||
| ) | 
Definition at line 189 of file CacheDisk.cc.
References AIO_EVENT_DONE, ink_aiocb::aio_nbytes, AIOCallback::aio_result, AIOCallback::aiocb, ink_assert, io, path, SET_DISK_BAD, and Warning.
Referenced by openDone().
| void CacheDisk::update_header | ( | ) | 
Definition at line 333 of file CacheDisk.cc.
References DiskVolBlockQueue::b, DiskVol::disk, disk_vols, DiskVol::dpb_queue, Queue< C, L >::enqueue(), DiskVolBlock::free, free_blocks, free_space, header, ink_assert, DiskVolBlock::len, DiskHeader::num_diskvol_blks, DiskVol::num_volblocks, DiskHeader::num_volumes, DiskVolBlock::number, Queue< C, L >::pop(), DiskVol::size, DiskHeader::vol_info, and DiskVol::vol_number.
Referenced by delete_all_volumes(), and openStart().
Definition at line 105 of file P_CacheDisk.h.
Referenced by create_config(), delete_all_volumes(), Cache::open(), and openStart().
Definition at line 102 of file P_CacheDisk.h.
Referenced by cplist_init(), cplist_reconfigure(), create_volume(), delete_volume(), CacheProcessor::diskInitialized(), execute_and_verify(), get_diskvol(), open(), update_header(), and ~CacheDisk().
| int CacheDisk::fd | 
Definition at line 99 of file P_CacheDisk.h.
Referenced by AIO_Callback_handler::handle_disk_failure(), CacheProcessor::mark_storage_offline(), open(), Cache::open(), and CacheProcessor::start_internal().
Volume number for this disk.
Definition at line 108 of file P_CacheDisk.h.
Referenced by cplist_update(), and CacheProcessor::start_internal().
Definition at line 103 of file P_CacheDisk.h.
Referenced by create_volume(), delete_volume(), update_header(), and ~CacheDisk().
| off_t CacheDisk::free_space | 
Definition at line 100 of file P_CacheDisk.h.
Referenced by cplist_reconfigure(), create_volume(), delete_volume(), CacheProcessor::diskInitialized(), execute_and_verify(), and update_header().
| ats_scoped_str CacheDisk::hash_base_string | 
Base string for hash seed.
Definition at line 109 of file P_CacheDisk.h.
Referenced by Vol::init(), and CacheProcessor::start_internal().
Definition at line 90 of file P_CacheDisk.h.
Referenced by clearDisk(), cplist_init(), create_volume(), delete_all_volumes(), delete_volume(), CacheProcessor::diskInitialized(), execute_and_verify(), get_diskvol(), open(), openStart(), sync(), update_header(), and ~CacheDisk().
Definition at line 92 of file P_CacheDisk.h.
Referenced by clearDisk(), open(), and sync().
Definition at line 98 of file P_CacheDisk.h.
Referenced by open(), CacheProcessor::start_internal(), and vol_clear_init().
Definition at line 93 of file P_CacheDisk.h.
Referenced by clearDisk(), clearDone(), open(), openStart(), CacheProcessor::start_internal(), sync(), and syncDone().
| off_t CacheDisk::len | 
Definition at line 94 of file P_CacheDisk.h.
Referenced by delete_all_volumes(), open(), openStart(), and CacheProcessor::start_internal().
Definition at line 104 of file P_CacheDisk.h.
Referenced by cache_disk_replacement_stability(), and AIO_Callback_handler::handle_disk_failure().
Definition at line 97 of file P_CacheDisk.h.
Referenced by create_config(), delete_all_volumes(), fillExclusiveDisks(), and open().
| char* CacheDisk::path | 
Definition at line 91 of file P_CacheDisk.h.
Referenced by clearDone(), AIO_Callback_handler::handle_disk_failure(), open(), Cache::open(), openStart(), CacheProcessor::start_internal(), syncDone(), and ~CacheDisk().
| off_t CacheDisk::skip | 
Definition at line 96 of file P_CacheDisk.h.
Referenced by clearDisk(), open(), openStart(), CacheProcessor::start_internal(), and sync().
| off_t CacheDisk::start | 
Definition at line 95 of file P_CacheDisk.h.
Referenced by delete_all_volumes(), open(), and CacheProcessor::start_internal().
| off_t CacheDisk::wasted_space | 
Definition at line 101 of file P_CacheDisk.h.
Referenced by create_volume().
 1.7.1
 1.7.1