diff options
author | Mike Snitzer <snitzer@redhat.com> | 2014-11-16 14:21:47 -0500 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2014-11-19 11:24:56 -0500 |
commit | 4d341d8216336174d35cd2575b6b9e4267a88ac8 (patch) | |
tree | 0792adf981d87cd1443e62b3aadeb99bd8b5feca /drivers/md | |
parent | 5ec02084f60f1537df850817fb91a16072cba4e7 (diff) |
dm: return earlier from dm_blk_ioctl if target doesn't implement .ioctl
No point checking if the device is suspended if the current target
doesn't even implement .ioctl
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/dm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 866ff19aa438..f8cdd97c28a7 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
@@ -525,14 +525,15 @@ retry: | |||
525 | goto out; | 525 | goto out; |
526 | 526 | ||
527 | tgt = dm_table_get_target(map, 0); | 527 | tgt = dm_table_get_target(map, 0); |
528 | if (!tgt->type->ioctl) | ||
529 | goto out; | ||
528 | 530 | ||
529 | if (dm_suspended_md(md)) { | 531 | if (dm_suspended_md(md)) { |
530 | r = -EAGAIN; | 532 | r = -EAGAIN; |
531 | goto out; | 533 | goto out; |
532 | } | 534 | } |
533 | 535 | ||
534 | if (tgt->type->ioctl) | 536 | r = tgt->type->ioctl(tgt, cmd, arg); |
535 | r = tgt->type->ioctl(tgt, cmd, arg); | ||
536 | 537 | ||
537 | out: | 538 | out: |
538 | dm_put_live_table(md, srcu_idx); | 539 | dm_put_live_table(md, srcu_idx); |