[v8,1/2] ublk: add helper to check if device supports user copy

Message ID 20230711072353.200873-2-nmi@metaspace.dk
State New
Headers
Series ublk: enable zoned storage support |

Commit Message

Andreas Hindborg July 11, 2023, 7:23 a.m. UTC
  From: Andreas Hindborg <a.hindborg@samsung.com>

This will be used by ublk zoned storage support.

Signed-off-by: Andreas Hindborg <a.hindborg@samsung.com>
---
 drivers/block/ublk_drv.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
  

Comments

Ming Lei July 12, 2023, 2:59 p.m. UTC | #1
On Tue, Jul 11, 2023 at 09:23:52AM +0200, Andreas Hindborg wrote:
> From: Andreas Hindborg <a.hindborg@samsung.com>
> 
> This will be used by ublk zoned storage support.
> 
> Signed-off-by: Andreas Hindborg <a.hindborg@samsung.com>
> ---

Reviewed-by: Ming Lei <ming.lei@redhat.com>

BTW, both Damien and I have reviewed this one, and you can put the
reviewed-by tag in patch.

Thanks,
Ming
  
Andreas Hindborg July 14, 2023, 9:08 p.m. UTC | #2
Ming Lei <ming.lei@redhat.com> writes:

> On Tue, Jul 11, 2023 at 09:23:52AM +0200, Andreas Hindborg wrote:
>> From: Andreas Hindborg <a.hindborg@samsung.com>
>> 
>> This will be used by ublk zoned storage support.
>> 
>> Signed-off-by: Andreas Hindborg <a.hindborg@samsung.com>
>> ---
>
> Reviewed-by: Ming Lei <ming.lei@redhat.com>
>
> BTW, both Damien and I have reviewed this one, and you can put the
> reviewed-by tag in patch.

Argh, I knew there was something I forgot for v9. Sorry.

BR Andreas
  

Patch

diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index 1c823750c95a..8d271901efac 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -185,6 +185,11 @@  struct ublk_params_header {
 	__u32	types;
 };
 
+static inline bool ublk_dev_is_user_copy(const struct ublk_device *ub)
+{
+	return ub->dev_info.flags & UBLK_F_USER_COPY;
+}
+
 static inline void __ublk_complete_rq(struct request *req);
 static void ublk_complete_rq(struct kref *ref);
 
@@ -2037,7 +2042,7 @@  static int ublk_ctrl_add_dev(struct io_uring_cmd *cmd)
 		UBLK_F_URING_CMD_COMP_IN_TASK;
 
 	/* GET_DATA isn't needed any more with USER_COPY */
-	if (ub->dev_info.flags & UBLK_F_USER_COPY)
+	if (ublk_dev_is_user_copy(ub))
 		ub->dev_info.flags &= ~UBLK_F_NEED_GET_DATA;
 
 	/* We are not ready to support zero copy */