io_uring: add dummy io_uring_sqe_cmd() helper

Message ID 20230508070825.3659621-1-arnd@kernel.org
State New
Headers
Series io_uring: add dummy io_uring_sqe_cmd() helper |

Commit Message

Arnd Bergmann May 8, 2023, 7:08 a.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

When CONFIG_IO_URING is disabled, the NVMe host support fails to build:

drivers/nvme/host/ioctl.c: In function 'nvme_uring_cmd_io':
drivers/nvme/host/ioctl.c:555:44: error: implicit declaration of function 'io_uring_sqe_cmd'; did you mean 'io_uring_free'? [-Werror=implicit-function-declaration]
  555 |         const struct nvme_uring_cmd *cmd = io_uring_sqe_cmd(ioucmd->sqe);
      |                                            ^~~~~~~~~~~~~~~~
      |                                            io_uring_free

Add a dummy function like the other interfaces for this configuration.

Fixes: fd9b8547bc5c ("io_uring: Pass whole sqe to commands")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 include/linux/io_uring.h | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Christoph Hellwig May 8, 2023, 2:40 p.m. UTC | #1
On Mon, May 08, 2023 at 09:08:18AM +0200, Arnd Bergmann wrote:
> Add a dummy function like the other interfaces for this configuration.

Why do we need a separate dummy? The structure is unconditionally
defined, so we can just unconditionally define the helper.
  
Jens Axboe May 8, 2023, 6:10 p.m. UTC | #2
On 5/8/23 8:40 AM, Christoph Hellwig wrote:
> On Mon, May 08, 2023 at 09:08:18AM +0200, Arnd Bergmann wrote:
>> Add a dummy function like the other interfaces for this configuration.
> 
> Why do we need a separate dummy? The structure is unconditionally
> defined, so we can just unconditionally define the helper.

Yeah, no reason for a special one. I'll send one out.
  

Patch

diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h
index 3399d979ee1c..ec1dbd9e2599 100644
--- a/include/linux/io_uring.h
+++ b/include/linux/io_uring.h
@@ -102,6 +102,10 @@  static inline const char *io_uring_get_opcode(u8 opcode)
 {
 	return "";
 }
+static inline const void *io_uring_sqe_cmd(const struct io_uring_sqe *sqe)
+{
+	return NULL;
+}
 #endif
 
 #endif