mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-20 14:16:31 +00:00
vdisk_blockio: Reenable COMPARE AND WRITE
The COMPARE AND WRITE implementation has been tested as follows against an SCST vdisk_blockio device: lba=7 bdev=$bdev for ((i=0;i<4;i++)); do dd if=/dev/urandom of=b$i bs=8k count=1; done for p in "0 1" "1 2" "2 3" "3 0"; do set $p; cat b$1 b$2 >b$1$2; done dd if=/dev/urandom of=$bdev dd if=b0 of=$bdev seek=$lba md5sum $bdev for ((i=0;i<10000;i++)); do for f in b01 b12 b23 b30; do sg_compare_and_write -l $lba -i $f -n 16 -x 16384 $bdev; done; done md5sum $bdev Signed-off-by: Bart Van Assche <bvanassche@acm.org> git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5412 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -1420,6 +1420,7 @@ static enum compl_status_e vdisk_invalid_opcode(struct vdisk_cmd_params *p)
|
||||
[UNMAP] = vdisk_exec_unmap, \
|
||||
[WRITE_SAME] = vdisk_exec_write_same, \
|
||||
[WRITE_SAME_16] = vdisk_exec_write_same, \
|
||||
[COMPARE_AND_WRITE] = vdisk_exec_caw, \
|
||||
[MAINTENANCE_IN] = vdisk_exec_maintenance_in, \
|
||||
[SEND_DIAGNOSTIC] = vdisk_exec_send_diagnostic, \
|
||||
[FORMAT_UNIT] = vdisk_exec_format_unit,
|
||||
@@ -1451,7 +1452,6 @@ static vdisk_op_fn fileio_ops[256] = {
|
||||
[WRITE_10] = fileio_exec_write,
|
||||
[WRITE_12] = fileio_exec_write,
|
||||
[WRITE_16] = fileio_exec_write,
|
||||
[COMPARE_AND_WRITE] = vdisk_exec_caw,
|
||||
[WRITE_VERIFY] = fileio_exec_write_verify,
|
||||
[WRITE_VERIFY_12] = fileio_exec_write_verify,
|
||||
[WRITE_VERIFY_16] = fileio_exec_write_verify,
|
||||
|
||||
Reference in New Issue
Block a user