block: cleanup queue_wc_store
authorChristoph Hellwig <hch@lst.de>
Fri, 7 Jul 2023 09:42:38 +0000 (11:42 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:42:39 +0000 (09:42 +0200)
[ Upstream commit c4e21bcd0f9d01f9c5d6c52007f5541871a5b1de ]

Get rid of the local queue_wc_store variable and handling setting and
clearing the QUEUE_FLAG_WC flag diretly instead the if / else if.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230707094239.107968-2-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Stable-dep-of: 43c9835b144c ("block: don't allow enabling a cache on devices that don't support it")
Signed-off-by: Sasha Levin <sashal@kernel.org>
block/blk-sysfs.c

index e71b3b4..4f34525 100644 (file)
@@ -528,21 +528,13 @@ static ssize_t queue_wc_show(struct request_queue *q, char *page)
 static ssize_t queue_wc_store(struct request_queue *q, const char *page,
                              size_t count)
 {
-       int set = -1;
-
        if (!strncmp(page, "write back", 10))
-               set = 1;
+               blk_queue_flag_set(QUEUE_FLAG_WC, q);
        else if (!strncmp(page, "write through", 13) ||
                 !strncmp(page, "none", 4))
-               set = 0;
-
-       if (set == -1)
-               return -EINVAL;
-
-       if (set)
-               blk_queue_flag_set(QUEUE_FLAG_WC, q);
-       else
                blk_queue_flag_clear(QUEUE_FLAG_WC, q);
+       else
+               return -EINVAL;
 
        return count;
 }