diff mbox series

[1/3] ublk_drv: check ubq_daemon_is_dying() in __ublk_rq_task_work()

Message ID 20220809091629.104682-2-ZiyangZhang@linux.alibaba.com (mailing list archive)
State New, archived
Headers show
Series ublk_drv: cleanup and bugfix | expand

Commit Message

Ziyang Zhang Aug. 9, 2022, 9:16 a.m. UTC
Replace direct check on PF_EXITING in __ublk_rq_task_work() by the
existing wrapper. Also inline ubq_daemon_is_dying().

Signed-off-by: ZiyangZhang <ZiyangZhang@linux.alibaba.com>
---
 drivers/block/ublk_drv.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Ming Lei Aug. 13, 2022, 10:16 a.m. UTC | #1
On Tue, Aug 9, 2022 at 5:17 PM ZiyangZhang
<ZiyangZhang@linux.alibaba.com> wrote:
>
> Replace direct check on PF_EXITING in __ublk_rq_task_work() by the
> existing wrapper. Also inline ubq_daemon_is_dying().
>
> Signed-off-by: ZiyangZhang <ZiyangZhang@linux.alibaba.com>
> ---
>  drivers/block/ublk_drv.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
> index 2b7d1db5c4a7..3797bd64c3c3 100644
> --- a/drivers/block/ublk_drv.c
> +++ b/drivers/block/ublk_drv.c
> @@ -555,7 +555,7 @@ static inline struct ublk_uring_cmd_pdu *ublk_get_uring_cmd_pdu(
>         return (struct ublk_uring_cmd_pdu *)&ioucmd->pdu;
>  }
>
> -static bool ubq_daemon_is_dying(struct ublk_queue *ubq)
> +static inline bool ubq_daemon_is_dying(struct ublk_queue *ubq)
>  {
>         return ubq->ubq_daemon->flags & PF_EXITING;
>  }
> @@ -644,8 +644,7 @@ static inline void __ublk_rq_task_work(struct request *req)
>         struct ublk_device *ub = ubq->dev;
>         int tag = req->tag;
>         struct ublk_io *io = &ubq->ios[tag];
> -       bool task_exiting = current != ubq->ubq_daemon ||
> -               (current->flags & PF_EXITING);
> +       bool task_exiting = current != ubq->ubq_daemon || ubq_daemon_is_dying(ubq);

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

Thanks,
diff mbox series

Patch

diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index 2b7d1db5c4a7..3797bd64c3c3 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -555,7 +555,7 @@  static inline struct ublk_uring_cmd_pdu *ublk_get_uring_cmd_pdu(
 	return (struct ublk_uring_cmd_pdu *)&ioucmd->pdu;
 }
 
-static bool ubq_daemon_is_dying(struct ublk_queue *ubq)
+static inline bool ubq_daemon_is_dying(struct ublk_queue *ubq)
 {
 	return ubq->ubq_daemon->flags & PF_EXITING;
 }
@@ -644,8 +644,7 @@  static inline void __ublk_rq_task_work(struct request *req)
 	struct ublk_device *ub = ubq->dev;
 	int tag = req->tag;
 	struct ublk_io *io = &ubq->ios[tag];
-	bool task_exiting = current != ubq->ubq_daemon ||
-		(current->flags & PF_EXITING);
+	bool task_exiting = current != ubq->ubq_daemon || ubq_daemon_is_dying(ubq);
 	unsigned int mapped_bytes;
 
 	pr_devel("%s: complete: op %d, qid %d tag %d io_flags %x addr %llx\n",