diff options
author | Denis Semakin <d.semakin@omprussia.ru> | 2018-03-13 10:23:45 +0100 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2018-04-03 21:04:21 +0200 |
commit | 00716545c894fc464e00612809d9cb836b180c99 (patch) | |
tree | 7492fc26be641c58a49b4c81ab707f60a597f629 /drivers/md/dm-stripe.c | |
parent | dm: backfill abnormal IO support to non-splitting IO submission (diff) | |
download | linux-00716545c894fc464e00612809d9cb836b180c99.tar.xz linux-00716545c894fc464e00612809d9cb836b180c99.zip |
dm: add support for secure erase forwarding
Set QUEUE_FLAG_SECERASE in DM device's queue_flags if a DM table's
data devices support secure erase.
Also, add support for secure erase to both the linear and striped
targets.
Signed-off-by: Denis Semakin <d.semakin@omprussia.ru>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-stripe.c')
-rw-r--r-- | drivers/md/dm-stripe.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index cd209e8902a6..bb907cb3e60d 100644 --- a/drivers/md/dm-stripe.c +++ b/drivers/md/dm-stripe.c @@ -169,6 +169,7 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv) ti->num_flush_bios = stripes; ti->num_discard_bios = stripes; + ti->num_secure_erase_bios = stripes; ti->num_write_same_bios = stripes; ti->num_write_zeroes_bios = stripes; @@ -295,6 +296,7 @@ static int stripe_map(struct dm_target *ti, struct bio *bio) return DM_MAPIO_REMAPPED; } if (unlikely(bio_op(bio) == REQ_OP_DISCARD) || + unlikely(bio_op(bio) == REQ_OP_SECURE_ERASE) || unlikely(bio_op(bio) == REQ_OP_WRITE_ZEROES) || unlikely(bio_op(bio) == REQ_OP_WRITE_SAME)) { target_bio_nr = dm_bio_get_target_bio_nr(bio); |