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

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.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 4a09a845
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -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_alignment	    = le32_to_cpu(rsp->discard_alignment);
	dev->secure_discard	    = le16_to_cpu(rsp->secure_discard);
	dev->rotational		    = rsp->rotational;
	dev->wc			    = !!(rsp->cache_policy & RNBD_WRITEBACK);
	dev->fua		    = !!(rsp->cache_policy & RNBD_FUA);

@@ -1410,7 +1409,9 @@ static int rnbd_clt_setup_gen_disk(struct rnbd_clt_dev *dev, int idx)
		dev->read_only = false;
	}

	if (!dev->rotational)
	/*
	 * Network device does not need rotational
	 */
	blk_queue_flag_set(QUEUE_FLAG_NONROT, dev->queue);
	err = add_disk(dev->gd);
	if (err)
@@ -1610,13 +1611,13 @@ struct rnbd_clt_dev *rnbd_clt_map_device(const char *sessname,
	}

	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->logical_block_size, dev->physical_block_size,
		       dev->max_write_same_sectors, dev->max_discard_sectors,
		       dev->discard_granularity, dev->discard_alignment,
		       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);
	rnbd_clt_put_sess(sess);
+0 −1
Original line number Diff line number Diff line
@@ -118,7 +118,6 @@ struct rnbd_clt_dev {
	enum rnbd_access_mode	access_mode;
	u32			nr_poll_queues;
	bool			read_only;
	bool			rotational;
	bool			wc;
	bool			fua;
	u32			max_hw_sectors;
+2 −2
Original line number Diff line number Diff line
@@ -128,7 +128,7 @@ enum rnbd_cache_policy {
 * @logical_block_size: logical block size device supports in bytes
 * @max_segments:	max segments hardware support in one transfer
 * @secure_discard:	supports secure discard
 * @rotation:		is a rotational disc?
 * @obsolete_rotational: obsolete, not in used.
 * @cache_policy: 	support write-back caching or FUA?
 */
struct rnbd_msg_open_rsp {
@@ -144,7 +144,7 @@ struct rnbd_msg_open_rsp {
	__le16			logical_block_size;
	__le16			max_segments;
	__le16			secure_discard;
	u8			rotational;
	u8			obsolete_rotational;
	u8			cache_policy;
	u8			reserved[10];
};
+0 −1
Original line number Diff line number Diff line
@@ -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));
	rsp->secure_discard =
		cpu_to_le16(rnbd_dev_get_secure_discard(rnbd_dev));
	rsp->rotational = !blk_queue_nonrot(q);
	rsp->cache_policy = 0;
	if (test_bit(QUEUE_FLAG_WC, &q->queue_flags))
		rsp->cache_policy |= RNBD_WRITEBACK;