[PATCH 4/5] dm vdo block-map: optimize enter_zone_read_only_mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Mike Snitzer <snitzer@xxxxxxxxxx>

Rather than incrementally dequeue from the zone->flush_waiters
vdo_wait_queue, simply re-initialize it.

Reviewed-by: Ken Raeburn <raeburn@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
Signed-off-by: Matthew Sakai <msakai@xxxxxxxxxx>
---
 drivers/md/dm-vdo/block-map.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/md/dm-vdo/block-map.c b/drivers/md/dm-vdo/block-map.c
index a1f2c9d38192..7f9c4bc05f02 100644
--- a/drivers/md/dm-vdo/block-map.c
+++ b/drivers/md/dm-vdo/block-map.c
@@ -641,12 +641,10 @@ static void enter_zone_read_only_mode(struct block_map_zone *zone, int result)
 	vdo_enter_read_only_mode(zone->block_map->vdo, result);
 
 	/*
-	 * We are in read-only mode, so we won't ever write any page out. Just take all waiters off
-	 * the queue so the zone can drain.
+	 * We are in read-only mode, so we won't ever write any page out.
+	 * Just take all waiters off the waitq so the zone can drain.
 	 */
-	while (vdo_waitq_has_waiters(&zone->flush_waiters))
-		vdo_waitq_dequeue_next_waiter(&zone->flush_waiters);
-
+	vdo_waitq_init(&zone->flush_waiters);
 	check_for_drain_complete(zone);
 }
 
-- 
2.42.0





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux