diff options
author | Kiyoshi Ueda <k-ueda@ct.jp.nec.com> | 2008-10-21 12:45:07 -0400 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2008-10-21 12:45:07 -0400 |
commit | f431d9666fd6e69fbaf305cebc7278d1428950c2 (patch) | |
tree | ebd0e7c5deb3e6782f0de657223d071bc11b1983 | |
parent | 1f965b19437017cea6d3f3f46acdc5acae5fd011 (diff) |
dm: remove unused flush_all
This patch removes the DM_WQ_FLUSH_ALL state that is unnecessary.
The dm_queue_flush(md, DM_WQ_FLUSH_ALL, NULL) in dm_suspend()
is never invoked because:
- 'goto flush_and_out' is the same as 'goto out' because
the 'goto flush_and_out' is called only when '!noflush'
- If r is non-zero, then the code above will invoke 'goto out'
and skip this code.
No functional change.
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
-rw-r--r-- | drivers/md/dm.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 829d9fc66453..6938bfeb5e2c 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
@@ -76,7 +76,6 @@ union map_info *dm_get_mapinfo(struct bio *bio) | |||
76 | */ | 76 | */ |
77 | struct dm_wq_req { | 77 | struct dm_wq_req { |
78 | enum { | 78 | enum { |
79 | DM_WQ_FLUSH_ALL, | ||
80 | DM_WQ_FLUSH_DEFERRED, | 79 | DM_WQ_FLUSH_DEFERRED, |
81 | } type; | 80 | } type; |
82 | struct work_struct work; | 81 | struct work_struct work; |
@@ -1395,9 +1394,6 @@ static void dm_wq_work(struct work_struct *work) | |||
1395 | 1394 | ||
1396 | down_write(&md->io_lock); | 1395 | down_write(&md->io_lock); |
1397 | switch (req->type) { | 1396 | switch (req->type) { |
1398 | case DM_WQ_FLUSH_ALL: | ||
1399 | __merge_pushback_list(md); | ||
1400 | /* pass through */ | ||
1401 | case DM_WQ_FLUSH_DEFERRED: | 1397 | case DM_WQ_FLUSH_DEFERRED: |
1402 | __flush_deferred_io(md); | 1398 | __flush_deferred_io(md); |
1403 | break; | 1399 | break; |
@@ -1527,7 +1523,7 @@ int dm_suspend(struct mapped_device *md, unsigned suspend_flags) | |||
1527 | if (!md->suspended_bdev) { | 1523 | if (!md->suspended_bdev) { |
1528 | DMWARN("bdget failed in dm_suspend"); | 1524 | DMWARN("bdget failed in dm_suspend"); |
1529 | r = -ENOMEM; | 1525 | r = -ENOMEM; |
1530 | goto flush_and_out; | 1526 | goto out; |
1531 | } | 1527 | } |
1532 | 1528 | ||
1533 | /* | 1529 | /* |
@@ -1578,14 +1574,6 @@ int dm_suspend(struct mapped_device *md, unsigned suspend_flags) | |||
1578 | 1574 | ||
1579 | set_bit(DMF_SUSPENDED, &md->flags); | 1575 | set_bit(DMF_SUSPENDED, &md->flags); |
1580 | 1576 | ||
1581 | flush_and_out: | ||
1582 | if (r && noflush) | ||
1583 | /* | ||
1584 | * Because there may be already I/Os in the pushback list, | ||
1585 | * flush them before return. | ||
1586 | */ | ||
1587 | dm_queue_flush(md, DM_WQ_FLUSH_ALL, NULL); | ||
1588 | |||
1589 | out: | 1577 | out: |
1590 | if (r && md->suspended_bdev) { | 1578 | if (r && md->suspended_bdev) { |
1591 | bdput(md->suspended_bdev); | 1579 | bdput(md->suspended_bdev); |