Bash NVMe_DualPort

DualPort_Reservations.sh

Attach a namespace to both controllers and run I/O while performing various reservation operations

Pass/Fail Criteria:

Results of namespace delete/create and reservation operations, and based on I/O test pass/fail parameters

DualPort_Redundancy.sh

Attach a namespace to both controllers, start I/O, break and re-attach link on a controller

Pass/Fail Criteria:

Results of namespace delete/create, appropriate accessibility of the controllers, and based on I/O test pass/fail parameters

DualPort_Multiple_NS.sh

Attach a namespace to each controller, start I/O on both, detach/attach each namespace, then restart I/O on both

Pass/Fail Criteria:

Results of delete/create/attach/detach of namespaces, and based on I/O test pass/fail parameters

DualPort_Shared_NS_Write_Verify.sh

If there is a shared NS, write it on port A, read/verify it on port B

Pass/Fail Criteria:

If either the write or reverify test fails

DualPort_MaxNum_NS.sh

Create max number of private namespaces, attach them evenly across both controllers, and start I/O on all of them

Pass/Fail Criteria:

Results of delete/create of namespaces, and based on I/O test pass/fail parameters

DualPort_IO_RefClkGlitch_PowerCycle.sh

Start I/O test on one port, perform RefClk glitch on another port, then power cycle the whole drive. Repeat these 3 steps for specified loops

Pass/Fail Criteria:

If the IO test fails

DualPort_SGL_Workloads.sh

Attach a namespace to both controllers and run SGL-enabled I/O

Pass/Fail Criteria:

Results of namespace delete/create, and based on I/O test pass/fail parameters