Call main op code processing depending on pre-op status

If pre-op code processing returns a non-zero status, skip
main op code processing.

Call post op code processing regardless.

Signed-off-by: Mark Harvey <markh794@gmail.com>
Delay load and positioning to emulate real hardware

Signed-off-by: Mark Harvey <markh794@gmail.com>
Add ability to adjust delay intervals

Add options to vtlcmd to adjust delay periods to adjust:
 - delay_load     -> Time taken to load a tape
 - delay_unload   -> Time taken to unload a tape
 - delay_rewind   -> Time taken to rewind a tape
 - delay_thread   -> Time taken to 'thread' a tape
                     (i.e. tape loaded but not ready)
 - delay_position -> Time taken between each 'seek' to position to a
                     new filemark

Signed-off-by: Mark Harvey <markh794@gmail.com>
Add error checking to retrive_CDB_data()

Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Mark Harvey <markh794@gmail.com>
kernel module: return -EIO from resp_write_to_user

Return -EIO from resp_write_to_user if not all bytes were fetched.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Mark Harvey <markh794@gmail.com>
kernel module: Increase timeout for user-space daemon to respond.

Since adding delay_opcode(), kernel module can timeout before
sleep time has completed.
Fix by making kernel module timeout longer.

Signed-off-by: Mark Harvey <markh794@gmail.com>
kernel module: Update kernel module version strings

Signed-off-by: Mark Harvey <markh794@gmail.com>