class NdmRamDriver
Defined at line 54 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
Ram-backed driver for testing purposes.
Public Methods
bool DoubleSize ()
Extends the visible volume to the whole size of the storage.
Defined at line 26 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
void NdmRamDriver (const ftl::VolumeOptions & options)
Defined at line 62 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void NdmRamDriver (const ftl::VolumeOptions & options, const TestOptions & test_options)
Defined at line 63 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void ~NdmRamDriver ()
Defined at line 67 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void save_config_data (bool value)
Defined at line 72 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void set_options (const ftl::VolumeOptions & options)
Defined at line 74 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void set_max_bad_blocks (uint32_t value)
Defined at line 75 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
uint32_t num_bad_blocks ()
Defined at line 76 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void SetPowerFailureDelay (int delay)
Defined at line 78 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
void set_operation_callback (std::function<int (Op, uint32_t)> operation_callback)
Set a callback to be run on every individual page read, write, and erase. If the callback
returns a non-zero value, that will be returned for the operation with no action performed.
Defined at line 86 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h
bool FailEcc (uint32_t page_num)
Access flags for a given page.
Defined at line 303 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
bool UnsafeEcc (uint32_t page_num)
Defined at line 307 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
bool BadBlock (uint32_t page_num)
Defined at line 311 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
void SetFailEcc (uint32_t page_num, bool value)
Defined at line 323 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
void SetUnsafeEcc (uint32_t page_num, bool value)
Defined at line 331 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
void SetBadBlock (uint32_t page_num, bool value)
Defined at line 339 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
uint8_t * MainData (uint32_t page_num)
Access the main data and spare area for a given page.
Defined at line 289 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
uint8_t * SpareData (uint32_t page_num)
Defined at line 295 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
const char * Init ()
NdmDriver interface:
Defined at line 55 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
const char * Attach (const ftl::Volume * ftl_volume)
Defined at line 69 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
bool Detach ()
Defined at line 82 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
int NandRead (uint32_t start_page, uint32_t page_count, void * page_buffer, void * oob_buffer)
Returns kNdmOk, kNdmUncorrectableEcc, kNdmFatalError or kNdmUnsafeEcc.
Defined at line 85 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
int NandWrite (uint32_t start_page, uint32_t page_count, const void * page_buffer, const void * oob_buffer)
Returns kNdmOk, kNdmError or kNdmFatalError. kNdmError triggers marking the block as bad.
Defined at line 110 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
int NandErase (uint32_t page_num)
Returns kNdmOk or kNdmError. kNdmError triggers marking the block as bad.
Defined at line 128 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
int IsBadBlock (uint32_t page_num)
Returns kTrue, kFalse or kNdmError.
Defined at line 167 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
bool IsEmptyPage (uint32_t page_num, const uint8_t * data, const uint8_t * spare)
Defined at line 186 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
uint32_t PageSize ()
Defined at line 270 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
uint8_t SpareSize ()
Defined at line 272 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc
Enumerations
enum Op
| Name | Value |
|---|---|
| Read | 0 |
| Write | 1 |
| Erase | 2 |
Defined at line 56 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h