| 415 | } |
| 416 | |
| 417 | int Ext2Volume::WriteBlockCached(uint32_t block, void* buffer){ |
| 418 | if(block > super.blockCount) |
| 419 | return -1; |
| 420 | |
| 421 | #ifndef EXT2_NO_CACHE |
| 422 | uint8_t* cachedBlock = nullptr; |
| 423 | if((cachedBlock = blockCache.get(block))){ |
| 424 | memcpy(cachedBlock, buffer, blocksize); |
| 425 | } |
| 426 | #endif |
| 427 | |
| 428 | if(int e = part->WriteBlock(BlockToLBA(block), blocksize, buffer)){ |
| 429 | Log::Error("[Ext2] Disk error (%d) reading block %d (blocksize: %d)", e, block, blocksize); |
| 430 | return e; |
| 431 | } |
| 432 | |
| 433 | return 0; |
| 434 | } |
| 435 | |
| 436 | uint32_t Ext2Volume::AllocateBlock(){ |
| 437 | for(unsigned i = 0; i < blockGroupCount; i++){ |
nothing calls this directly
no test coverage detected