Commit 26cac6bf authored by Changpeng Liu's avatar Changpeng Liu Committed by Tomasz Zawadzki
Browse files

lib/ublk: add undefined macro definitions for old kernel header



These macro definitions are in very latest kernel `ublk_cmd.h`
file, for compilation with CI or old kernel, we add them
into SPDK.

Change-Id: Id88fa6e0c4e8026753f1c2c40e45fa88827fbc4a
Signed-off-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19244


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@gmail.com>
Reviewed-by: default avatarXiaodong Liu <xiaodong.liu@intel.com>
parent 71ae046a
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
 *   All rights reserved.
 */

#include <linux/ublk_cmd.h>
#include <liburing.h>

#include "spdk/stdinc.h"
@@ -382,7 +381,7 @@ ublk_ctrl_cmd_get_features(void)
	cmd->addr = (__u64)(uintptr_t)&g_ublk_tgt.features;
	cmd->len = sizeof(g_ublk_tgt.features);

	cmd_op = _IOR('u', 0x13, struct ublksrv_ctrl_cmd);
	cmd_op = UBLK_U_CMD_GET_FEATURES;
	ublk_set_sqe_cmd_op(sqe, cmd_op);

	rc = io_uring_submit(&g_ublk_tgt.ctrl_ring);
@@ -398,7 +397,7 @@ ublk_ctrl_cmd_get_features(void)
	}

	if (cqe->res == 0) {
		g_ublk_tgt.ioctl_encode = !!(g_ublk_tgt.features & (1ULL << 6));
		g_ublk_tgt.ioctl_encode = !!(g_ublk_tgt.features & UBLK_F_CMD_IOCTL_ENCODE);
	}
	io_uring_cqe_seen(&g_ublk_tgt.ctrl_ring, cqe);

+35 −0
Original line number Diff line number Diff line
@@ -8,8 +8,43 @@
#ifndef SPDK_UBLK_INTERNAL_H
#define SPDK_UBLK_INTERNAL_H

#include <linux/ublk_cmd.h>

#include "spdk/ublk.h"

#ifndef UBLK_F_CMD_IOCTL_ENCODE
#define UBLK_F_CMD_IOCTL_ENCODE	(1UL << 6)
#endif

#ifndef UBLK_F_USER_COPY
#define UBLK_F_USER_COPY	(1UL << 7)
#endif

#ifndef UBLK_U_CMD_GET_FEATURES
#define UBLK_U_CMD_GET_FEATURES	_IOR('u', 0x13, struct ublksrv_ctrl_cmd)
#endif

#ifndef UBLKSRV_IO_BUF_OFFSET
#define UBLKSRV_IO_BUF_OFFSET	0x80000000
#endif

#ifndef UBLK_IO_BUF_BITS
#define UBLK_IO_BUF_BITS	25
#endif

#ifndef UBLK_TAG_OFF
#define UBLK_TAG_OFF		UBLK_IO_BUF_BITS
#endif

#ifndef UBLK_TAG_BITS
#define UBLK_TAG_BITS		16
#endif

#ifndef UBLK_QID_OFF
#define UBLK_QID_OFF		(UBLK_TAG_OFF + UBLK_TAG_BITS)
#endif


#define UBLK_DEV_QUEUE_DEPTH	128
#define UBLK_DEV_NUM_QUEUE	1