Commit e4f5468d authored by Omar Pakker's avatar Omar Pakker Committed by Jim Harris
Browse files

bdev/uring: fix for zns excluding block devices instead of checking block devices



Also fixes `free(filename_dup)` being called to early thus clearing out `base` value.

Change-Id: I9cfb51834fdd58a1c708da249a5271cacb6ee38f
Signed-off-by: default avatarOmar Pakker <spdk@opakker.nl>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25509


Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarChangpeng Liu <changpeliu@tencent.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
parent c0b7ff1f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -534,7 +534,7 @@ bdev_uring_check_zoned_support(struct bdev_uring *uring, const char *name, const
	}

	/* Perform check on block devices only */
	if (stat(filename, &sb) == 0 && S_ISBLK(sb.st_mode)) {
	if (stat(filename, &sb) == 0 && !S_ISBLK(sb.st_mode)) {
		return 0;
	}

@@ -546,7 +546,6 @@ bdev_uring_check_zoned_support(struct bdev_uring *uring, const char *name, const
	}

	base = basename(filename_dup);
	free(filename_dup);
	sysfs_path = spdk_sprintf_alloc("/sys/block/%s/queue/zoned", base);
	retval = spdk_read_sysfs_attribute(&str, "%s", sysfs_path);
	/* Check if this is a zoned block device */
@@ -591,6 +590,7 @@ bdev_uring_check_zoned_support(struct bdev_uring *uring, const char *name, const
err_ret:
	free(str);
	free(sysfs_path);
	free(filename_dup);
	return retval;
}
#else