Skip to content

Commit

Permalink
vDPA: report virtio-block read-only info to user space
Browse files Browse the repository at this point in the history
This commit report read-only information of
virtio-blk devices to user space.

Signed-off-by: Zhu Lingshan <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
  • Loading branch information
ls-zhu authored and mstsirkin committed Mar 19, 2024
1 parent 6bdc784 commit ae1374b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
14 changes: 14 additions & 0 deletions drivers/vdpa/vdpa.c
Original file line number Diff line number Diff line change
Expand Up @@ -1084,6 +1084,17 @@ vdpa_dev_blk_write_zeroes_config_fill(struct sk_buff *msg, u64 features,
return 0;
}

static int vdpa_dev_blk_ro_config_fill(struct sk_buff *msg, u64 features)
{
u8 ro;

ro = ((features & BIT_ULL(VIRTIO_BLK_F_RO)) == 0) ? 0 : 1;
if (nla_put_u8(msg, VDPA_ATTR_DEV_BLK_CFG_READ_ONLY, ro))
return -EMSGSIZE;

return 0;
}

static int vdpa_dev_blk_config_fill(struct vdpa_device *vdev,
struct sk_buff *msg)
{
Expand Down Expand Up @@ -1122,6 +1133,9 @@ static int vdpa_dev_blk_config_fill(struct vdpa_device *vdev,
if (vdpa_dev_blk_write_zeroes_config_fill(msg, features_device, &config))
return -EMSGSIZE;

if (vdpa_dev_blk_ro_config_fill(msg, features_device))
return -EMSGSIZE;

return 0;
}

Expand Down
1 change: 1 addition & 0 deletions include/uapi/linux/vdpa.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ enum vdpa_attr {
VDPA_ATTR_DEV_BLK_CFG_DISCARD_SEC_ALIGN,/* u32 */
VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEC, /* u32 */
VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEG, /* u32 */
VDPA_ATTR_DEV_BLK_CFG_READ_ONLY, /* u8 */

/* new attributes must be added above here */
VDPA_ATTR_MAX,
Expand Down

0 comments on commit ae1374b

Please sign in to comment.