Commit 030ce8ba authored by Gioh Kim's avatar Gioh Kim Committed by Jens Axboe

block/rnbd: client device does not care queue/rotational

On client side, the device is a network device. There is no reason
to set rotational even-if the target device on server is rotational.
Signed-off-by: default avatarGioh Kim <gi-oh.kim@ionos.com>
Signed-off-by: default avatarJack Wang <jinpu.wang@ionos.com>
Signed-off-by: default avatarMd Haris Iqbal <haris.iqbal@ionos.com>
Link: https://lore.kernel.org/r/20220114155855.984144-3-haris.iqbal@ionos.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 4a09a845
...@@ -87,7 +87,6 @@ static int rnbd_clt_set_dev_attr(struct rnbd_clt_dev *dev, ...@@ -87,7 +87,6 @@ static int rnbd_clt_set_dev_attr(struct rnbd_clt_dev *dev,
dev->discard_granularity = le32_to_cpu(rsp->discard_granularity); dev->discard_granularity = le32_to_cpu(rsp->discard_granularity);
dev->discard_alignment = le32_to_cpu(rsp->discard_alignment); dev->discard_alignment = le32_to_cpu(rsp->discard_alignment);
dev->secure_discard = le16_to_cpu(rsp->secure_discard); dev->secure_discard = le16_to_cpu(rsp->secure_discard);
dev->rotational = rsp->rotational;
dev->wc = !!(rsp->cache_policy & RNBD_WRITEBACK); dev->wc = !!(rsp->cache_policy & RNBD_WRITEBACK);
dev->fua = !!(rsp->cache_policy & RNBD_FUA); dev->fua = !!(rsp->cache_policy & RNBD_FUA);
...@@ -1410,8 +1409,10 @@ static int rnbd_clt_setup_gen_disk(struct rnbd_clt_dev *dev, int idx) ...@@ -1410,8 +1409,10 @@ static int rnbd_clt_setup_gen_disk(struct rnbd_clt_dev *dev, int idx)
dev->read_only = false; dev->read_only = false;
} }
if (!dev->rotational) /*
blk_queue_flag_set(QUEUE_FLAG_NONROT, dev->queue); * Network device does not need rotational
*/
blk_queue_flag_set(QUEUE_FLAG_NONROT, dev->queue);
err = add_disk(dev->gd); err = add_disk(dev->gd);
if (err) if (err)
blk_cleanup_disk(dev->gd); blk_cleanup_disk(dev->gd);
...@@ -1610,13 +1611,13 @@ struct rnbd_clt_dev *rnbd_clt_map_device(const char *sessname, ...@@ -1610,13 +1611,13 @@ struct rnbd_clt_dev *rnbd_clt_map_device(const char *sessname,
} }
rnbd_clt_info(dev, rnbd_clt_info(dev,
"map_device: Device mapped as %s (nsectors: %zu, logical_block_size: %d, physical_block_size: %d, max_write_same_sectors: %d, max_discard_sectors: %d, discard_granularity: %d, discard_alignment: %d, secure_discard: %d, max_segments: %d, max_hw_sectors: %d, rotational: %d, wc: %d, fua: %d)\n", "map_device: Device mapped as %s (nsectors: %zu, logical_block_size: %d, physical_block_size: %d, max_write_same_sectors: %d, max_discard_sectors: %d, discard_granularity: %d, discard_alignment: %d, secure_discard: %d, max_segments: %d, max_hw_sectors: %d, wc: %d, fua: %d)\n",
dev->gd->disk_name, dev->nsectors, dev->gd->disk_name, dev->nsectors,
dev->logical_block_size, dev->physical_block_size, dev->logical_block_size, dev->physical_block_size,
dev->max_write_same_sectors, dev->max_discard_sectors, dev->max_write_same_sectors, dev->max_discard_sectors,
dev->discard_granularity, dev->discard_alignment, dev->discard_granularity, dev->discard_alignment,
dev->secure_discard, dev->max_segments, dev->secure_discard, dev->max_segments,
dev->max_hw_sectors, dev->rotational, dev->wc, dev->fua); dev->max_hw_sectors, dev->wc, dev->fua);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
rnbd_clt_put_sess(sess); rnbd_clt_put_sess(sess);
......
...@@ -118,7 +118,6 @@ struct rnbd_clt_dev { ...@@ -118,7 +118,6 @@ struct rnbd_clt_dev {
enum rnbd_access_mode access_mode; enum rnbd_access_mode access_mode;
u32 nr_poll_queues; u32 nr_poll_queues;
bool read_only; bool read_only;
bool rotational;
bool wc; bool wc;
bool fua; bool fua;
u32 max_hw_sectors; u32 max_hw_sectors;
......
...@@ -128,7 +128,7 @@ enum rnbd_cache_policy { ...@@ -128,7 +128,7 @@ enum rnbd_cache_policy {
* @logical_block_size: logical block size device supports in bytes * @logical_block_size: logical block size device supports in bytes
* @max_segments: max segments hardware support in one transfer * @max_segments: max segments hardware support in one transfer
* @secure_discard: supports secure discard * @secure_discard: supports secure discard
* @rotation: is a rotational disc? * @obsolete_rotational: obsolete, not in used.
* @cache_policy: support write-back caching or FUA? * @cache_policy: support write-back caching or FUA?
*/ */
struct rnbd_msg_open_rsp { struct rnbd_msg_open_rsp {
...@@ -144,7 +144,7 @@ struct rnbd_msg_open_rsp { ...@@ -144,7 +144,7 @@ struct rnbd_msg_open_rsp {
__le16 logical_block_size; __le16 logical_block_size;
__le16 max_segments; __le16 max_segments;
__le16 secure_discard; __le16 secure_discard;
u8 rotational; u8 obsolete_rotational;
u8 cache_policy; u8 cache_policy;
u8 reserved[10]; u8 reserved[10];
}; };
......
...@@ -558,7 +558,6 @@ static void rnbd_srv_fill_msg_open_rsp(struct rnbd_msg_open_rsp *rsp, ...@@ -558,7 +558,6 @@ static void rnbd_srv_fill_msg_open_rsp(struct rnbd_msg_open_rsp *rsp,
cpu_to_le32(rnbd_dev_get_discard_alignment(rnbd_dev)); cpu_to_le32(rnbd_dev_get_discard_alignment(rnbd_dev));
rsp->secure_discard = rsp->secure_discard =
cpu_to_le16(rnbd_dev_get_secure_discard(rnbd_dev)); cpu_to_le16(rnbd_dev_get_secure_discard(rnbd_dev));
rsp->rotational = !blk_queue_nonrot(q);
rsp->cache_policy = 0; rsp->cache_policy = 0;
if (test_bit(QUEUE_FLAG_WC, &q->queue_flags)) if (test_bit(QUEUE_FLAG_WC, &q->queue_flags))
rsp->cache_policy |= RNBD_WRITEBACK; rsp->cache_policy |= RNBD_WRITEBACK;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment