wip
[dm_interface] don't check the full /dev/mapper/<thing> path before doing a remove.

There's a race with udev anyway.
[thinp] PoolAndDataSizeMatchTests
[thinp] more work on the pool resize tests
dmts: add basic dm-crypt support

dmtest run --suite crypt -n /fio_database_funtime/
add resize_io back...
dmts: add commit_failure_sets_needs_check

test_commit_failure_sets_needs_check(PoolResizeWithSpaceTests):
 kernel: device-mapper: thin: Data device (dm-1) discard unsupported: Disabling discard passdown.
 kernel: bio: create slab <bio-2> at 2
 kernel: device-mapper: thin: 253:4: reached low water mark for data device: sending event.
 kernel: bio: create slab <bio-3> at 3
 kernel: device-mapper: thin: 253:4: reached low water mark for data device: sending event.
 kernel: device-mapper: thin: 253:4: metadata operation 'dm_pool_commit_metadata' failed: error = -5
 kernel: device-mapper: thin: 253:4: aborting current metadata transaction
 kernel: device-mapper: thin: 253:4: switching pool to read-only mode
 kernel: device-mapper: thin: Data device (dm-1) discard unsupported: Disabling discard passdown.
 kernel: device-mapper: thin: 253:4: unable to switch pool to write mode until repaired.
.
fluff in pool resize tests
comment out a pool resize test that's not going upstream
[thinp] thress crash tests
Fix race in event_tracker.

@interface.wait() now returns the new event_nr.  Before we were
running a separate info, which left a window for missed events.
[era] Tests for the largest valid origin
update origin size tests
[dmtest] Add global command and help command which both output the usage
[dmtest] Move the command line parser to its own file
You can now have multiple -t and -n switches.

*** This change requires you to re-run 'bundle' to get the latest ejt_command_line gem ***

The -t switches are ORd together to make one filter.  Similarly the
-n's ORd to make another.  These two are then ANDd to make the final
filter.

eg,

root@debian:~/dmtest# dmtest list --suite thin-provisioning -t /Fake/ -t /Basic/ -n /device\|pass/
thin-provisioning
  BasicTests
    overwrite_a_linear_device
    overwriting_various_thin_devices
    pool_without_thin_devices_does_not_commit
  FakeDiscardTests
    data_granularity_larger_than_block_size_disables_passdown
    data_granularity_not_factor_of_block_size_disables_passdown
    data_max_smaller_than_block_size_disables_passdown
    disable_passdown
    enable_passdown
    pool_max_and_granularity_match_np2_block_size_no_passdown
    pool_max_and_granularity_match_pow2_block_size_no_passdown
Change the tags output to include a ':'
Introduce colour to the 'list' output
Colour the output of 'run'
[writeboost] fix out-of-date codes to run with latest writeboost

Start porting the tests in writeboost's repo to dmts.
Fix the out-of-date codes first

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>