IOCache
info->io_scheduler = new(std::nothrow) IOCache(info->dma_resource,
struct IOCache;
IOCache::SetDeviceCapacity(off_t deviceCapacity)
IOCache::MediaChanged()
IOCache::ScheduleRequest(IORequest* request)
IOCache::AbortRequest(IORequest* request, status_t status)
IOCache::OperationCompleted(IOOperation* operation, status_t status,
IOCache::Dump() const
IOCache::_DoRequest(IORequest* request, generic_size_t& _bytesTransferred)
IOCache::_TransferRequestLine(IORequest* request, off_t lineOffset,
struct IOCache::Operation : IOOperation {
IOCache::IOCache(DMAResource* resource, size_t cacheLineSize)
IOCache::_TransferRequestLineUncached(IORequest* request, off_t lineOffset,
IOCache::_DoOperation(Operation& operation)
IOCache::_TransferPages(size_t firstPage, size_t pageCount, bool isWrite,
IOCache::_DiscardPages(size_t firstPage, size_t pageCount)
IOCache::_CachePages(size_t firstPage, size_t pageCount)
IOCache::_CopyPages(IORequest* request, size_t pagesRelativeOffset,
IOCache::~IOCache()
IOCache::_MapPages(size_t firstPage, size_t endPage)
IOCache::_UnmapPages(size_t firstPage, size_t endPage)
IOCache::Init(const char* name)
class IOCache : public IOScheduler {
IOCache(DMAResource* resource,
virtual ~IOCache();