diff options
author | Christoph Hellwig <hch@lst.de> | 2023-07-07 12:42:38 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-09-13 10:42:39 +0300 |
commit | e5e0ec8ff16089a0801cd6a1748003697b6b901f (patch) | |
tree | fbb663af721b58683fcbbdda2fb1d419dd05e987 | |
parent | 7db90dd1c5a45025cca496b743957abfa15022b3 (diff) | |
download | linux-e5e0ec8ff16089a0801cd6a1748003697b6b901f.tar.xz |
block: cleanup queue_wc_store
[ 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>
-rw-r--r-- | block/blk-sysfs.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index e71b3b43927c..4f34525bafac 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -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; } |