Commit 2b53d4e9 authored by Caleb Sander Mateos's avatar Caleb Sander Mateos Committed by Jens Axboe
Browse files

ublk: consolidate UBLK_IO_FLAG_{ACTIVE,OWNED_BY_SRV} checks



UBLK_IO_FLAG_ACTIVE and UBLK_IO_FLAG_OWNED_BY_SRV are mutually
exclusive. So just check that UBLK_IO_FLAG_OWNED_BY_SRV is set in
__ublk_ch_uring_cmd(); that implies UBLK_IO_FLAG_ACTIVE is unset.

Signed-off-by: default avatarCaleb Sander Mateos <csander@purestorage.com>
Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250620151008.3976463-7-csander@purestorage.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent be4f1b61
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -2228,14 +2228,11 @@ static int __ublk_ch_uring_cmd(struct io_uring_cmd *cmd,
		goto out;

	/* there is pending io cmd, something must be wrong */
	if (io->flags & UBLK_IO_FLAG_ACTIVE) {
	if (!(io->flags & UBLK_IO_FLAG_OWNED_BY_SRV)) {
		ret = -EBUSY;
		goto out;
	}

	if (!(io->flags & UBLK_IO_FLAG_OWNED_BY_SRV))
		goto out;

	/*
	 * ensure that the user issues UBLK_IO_NEED_GET_DATA
	 * iff the driver have set the UBLK_IO_FLAG_NEED_GET_DATA.