aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorKiyoshi Ueda <k-ueda@ct.jp.nec.com>2008-10-21 12:45:07 -0400
committerAlasdair G Kergon <agk@redhat.com>2008-10-21 12:45:07 -0400
commitf431d9666fd6e69fbaf305cebc7278d1428950c2 (patch)
treeebd0e7c5deb3e6782f0de657223d071bc11b1983 /drivers/md/dm.c
parent1f965b19437017cea6d3f3f46acdc5acae5fd011 (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>
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c14
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 */
77struct dm_wq_req { 77struct 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
1581flush_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
1589out: 1577out:
1590 if (r && md->suspended_bdev) { 1578 if (r && md->suspended_bdev) {
1591 bdput(md->suspended_bdev); 1579 bdput(md->suspended_bdev);