block: kill off q->flush_flags
[cascardo/linux.git] / block / blk-settings.c
index 80d9327..f679ae1 100644 (file)
@@ -822,7 +822,12 @@ EXPORT_SYMBOL(blk_queue_update_dma_alignment);
 
 void blk_queue_flush_queueable(struct request_queue *q, bool queueable)
 {
-       q->flush_not_queueable = !queueable;
+       spin_lock_irq(q->queue_lock);
+       if (queueable)
+               clear_bit(QUEUE_FLAG_FLUSH_NQ, &q->queue_flags);
+       else
+               set_bit(QUEUE_FLAG_FLUSH_NQ, &q->queue_flags);
+       spin_unlock_irq(q->queue_lock);
 }
 EXPORT_SYMBOL_GPL(blk_queue_flush_queueable);
 
@@ -837,16 +842,13 @@ EXPORT_SYMBOL_GPL(blk_queue_flush_queueable);
 void blk_queue_write_cache(struct request_queue *q, bool wc, bool fua)
 {
        spin_lock_irq(q->queue_lock);
-       if (wc) {
+       if (wc)
                queue_flag_set(QUEUE_FLAG_WC, q);
-               q->flush_flags = REQ_FLUSH;
-       } else
+       else
                queue_flag_clear(QUEUE_FLAG_WC, q);
-       if (fua) {
-               if (wc)
-                       q->flush_flags |= REQ_FUA;
+       if (fua)
                queue_flag_set(QUEUE_FLAG_FUA, q);
-       else
+       else
                queue_flag_clear(QUEUE_FLAG_FUA, q);
        spin_unlock_irq(q->queue_lock);
 }