mirror of
https://github.com/coolsnowwolf/packages
synced 2025-01-09 04:37:41 +08:00
btrfs-progs: fix btrfs-progs not provide blk_zone
This commit is contained in:
parent
00972ca4a1
commit
faa4a71d15
@ -21,6 +21,7 @@ PKG_LICENSE_FILES:=COPYING
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=acl
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
@ -0,0 +1,51 @@
|
||||
From a065c28f8d6c5785d9c3730cb62078b8dbb4dc91 Mon Sep 17 00:00:00 2001
|
||||
From: W_Y_CPP <383152993@qq.com>
|
||||
Date: Tue, 15 Feb 2022 22:40:18 -0500
|
||||
Subject: [PATCH] improve autodetection of zoned mode
|
||||
|
||||
---
|
||||
configure.ac | 26 ++++++++++++++++++++++++--
|
||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 26d8510..2b16249 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -282,10 +282,32 @@ AC_CHECK_HEADER(linux/blkzoned.h, [blkzoned_found=yes], [blkzoned_found=no])
|
||||
AC_CHECK_MEMBER([struct blk_zone.capacity], [blkzoned_capacity=yes], [blkzoned_capacity=no], [[#include <linux/blkzoned.h>]])
|
||||
AX_CHECK_DEFINE([linux/blkzoned.h], [BLKGETZONESZ], [blkzoned_getzonesz=yes], [blkzoned_getzonesz=no])
|
||||
AC_ARG_ENABLE([zoned],
|
||||
- AS_HELP_STRING([--disable-zoned], [disable zoned block device support]),
|
||||
- [], [enable_zoned=$blkzoned_found]
|
||||
+ AS_HELP_STRING([--disable-zoned], [disable zoned block device support (default: detect)]),
|
||||
+ [], [enable_zoned=$blkzoned_capacity]
|
||||
)
|
||||
|
||||
+# Autodetect zoned support
|
||||
+AS_IF([test "x$enableval" = "x"], [
|
||||
+ cansupportzoned=yes
|
||||
+ if test "x$blkzoned_found" = xno; then
|
||||
+ cansupportzoned=no
|
||||
+ fi
|
||||
+ if test "x$blkzoned_capacity" = xno; then
|
||||
+ cansupportzoned=no
|
||||
+ fi
|
||||
+ if test "x$blkzoned_getzonesz" = xno; then
|
||||
+ cansupportzoned=no
|
||||
+ fi
|
||||
+ if test "x$cansupportzoned" = xno; then
|
||||
+ AC_MSG_NOTICE([insufficient support for zoned mode, cannot enable])
|
||||
+ enable_zoned=no
|
||||
+ else
|
||||
+ enable_zoned=yes
|
||||
+ fi
|
||||
+])
|
||||
+
|
||||
+# Explicitly requested by --enable-zoned
|
||||
+
|
||||
AS_IF([test "x$enable_zoned" = xyes], [
|
||||
if test "x$blkzoned_found" = xno; then
|
||||
AC_MSG_ERROR([Couldn't find linux/blkzoned.h])
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,14 @@
|
||||
--- btrfs-progs-v5.16.1/kernel-shared/zoned.h.orig 2022-02-06 11:09:39.728318915 +0000
|
||||
+++ btrfs-progs-v5.16.1/kernel-shared/zoned.h 2022-02-06 11:11:21.772323202 +0000
|
||||
@@ -145,6 +145,11 @@ static inline int btrfs_reset_dev_zone(i
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static inline bool zoned_profile_supported(u64 flags)
|
||||
+{
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
static inline bool zone_is_sequential(struct btrfs_zoned_device_info *zinfo,
|
||||
u64 bytenr)
|
||||
{
|
Loading…
Reference in New Issue
Block a user