File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -577,6 +577,7 @@ static void blkg_destroy_all(struct gendisk *disk)
577
577
struct request_queue * q = disk -> queue ;
578
578
struct blkcg_gq * blkg , * n ;
579
579
int count = BLKG_DESTROY_BATCH_SIZE ;
580
+ int i ;
580
581
581
582
restart :
582
583
spin_lock_irq (& q -> queue_lock );
@@ -602,6 +603,18 @@ static void blkg_destroy_all(struct gendisk *disk)
602
603
}
603
604
}
604
605
606
+ /*
607
+ * Mark policy deactivated since policy offline has been done, and
608
+ * the free is scheduled, so future blkcg_deactivate_policy() can
609
+ * be bypassed
610
+ */
611
+ for (i = 0 ; i < BLKCG_MAX_POLS ; i ++ ) {
612
+ struct blkcg_policy * pol = blkcg_policy [i ];
613
+
614
+ if (pol )
615
+ __clear_bit (pol -> plid , q -> blkcg_pols );
616
+ }
617
+
605
618
q -> root_blkg = NULL ;
606
619
spin_unlock_irq (& q -> queue_lock );
607
620
}
You can’t perform that action at this time.
0 commit comments