Commit 77df8f9d authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

ublk: use spdk_read_sysfs_attribute_uint32 to get max ublks



Signed-off-by: default avatarJim Harris <jim.harris@samsung.com>
Change-Id: Ib984b49bcc39ba9e7c96117e05a1eaddddf63f97
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24077


Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarChangpeng Liu <changpeng_liu@hotmail.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 2276e22d
Loading
Loading
Loading
Loading
+6 −24
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include "spdk/json.h"
#include "spdk/ublk.h"
#include "spdk/thread.h"
#include "spdk/file.h"

#include "ublk_internal.h"

@@ -551,31 +552,11 @@ ublk_queue_cmd_buf_sz(uint32_t q_depth)
	return (size + page_sz - 1) & ~(page_sz - 1);
}

static int
ublk_get_max_support_devs(void)
{
	FILE *file;
	char str[128];

	file = fopen("/sys/module/ublk_drv/parameters/ublks_max", "r");
	if (!file) {
		return -ENOENT;
	}

	if (!fgets(str, sizeof(str), file)) {
		fclose(file);
		return -EINVAL;
	}
	fclose(file);

	spdk_str_chomp(str);
	return spdk_strtol(str, 10);
}

static int
ublk_open(void)
{
	int rc, ublks_max;
	uint32_t ublks_max;
	int rc;

	g_ublk_tgt.ctrl_fd = open(UBLK_CTRL_DEV, O_RDWR);
	if (g_ublk_tgt.ctrl_fd < 0) {
@@ -584,8 +565,9 @@ ublk_open(void)
		return -rc;
	}

	ublks_max = ublk_get_max_support_devs();
	if (ublks_max > 0) {
	rc = spdk_read_sysfs_attribute_uint32(&ublks_max, "%s",
					      "/sys/module/ublk_drv/parameters/ublks_max");
	if (rc == 0 && ublks_max > 0) {
		g_ublks_max = ublks_max;
	}