scripts/generate-kernel-patch: Use krel for qla2xxx patch paths

Fix mismatch where generate-kernel-patch keyed paths by full_kver
(with ‘^’) but in-tree patches were written under krel
(before ‘^’). Derive krel=${full_kver/^*} and use it for qla2xxx path
resolution.
This commit is contained in:
Gleb Chesnokov
2025-09-30 18:09:11 +03:00
parent 90c26fa844
commit 9543060a2c
6 changed files with 65 additions and 56 deletions
+15 -13
View File
@@ -6,25 +6,27 @@ source "$(dirname "$0")/../scripts/kernel-functions" || exit $?
# Argument verification #
#########################
kernel_version="$1"
full_kver="$1"
if [ "$1" = "" ]; then
if [ "${full_kver}" = "" ]; then
echo "Error: missing kernel version argument."
exit 1
fi
krel=${full_kver/^*}
mkdir -p qla2xxx-orig
cd qla2xxx-orig || exit $?
download_and_extract_kernel_tree "${kernel_version}" || exit $?
kernel_version=${kernel_version/^*}
touch "linux-${kernel_version}"/drivers/scsi/qla2xxx/*
rm -rf "${kernel_version}"
mkdir -p "${kernel_version}/include/trace/events"
mv "linux-${kernel_version}"/drivers/scsi/qla2xxx/* "${kernel_version}"
if [ -e "linux-${kernel_version}"/include/trace/events/qla.h ]; then
touch "linux-${kernel_version}"/include/trace/events/qla.h
mv "linux-${kernel_version}"/include/trace/events/qla.h \
"${kernel_version}/include/trace/events"
download_and_extract_kernel_tree "${full_kver}" || exit $?
touch "linux-${krel}"/drivers/scsi/qla2xxx/*
rm -rf "${krel}"
mkdir -p "${krel}/include/trace/events"
mv "linux-${krel}"/drivers/scsi/qla2xxx/* "${krel}"
if [ -e "linux-${krel}"/include/trace/events/qla.h ]; then
touch "linux-${krel}"/include/trace/events/qla.h
mv "linux-${krel}"/include/trace/events/qla.h "${krel}/include/trace/events"
fi
rm -rf "linux-${kernel_version}"
rm -rf "linux-${krel}"
cd ..
+13 -13
View File
@@ -1,24 +1,24 @@
#!/bin/bash
kernel_version="$1"
full_kver="$1"
if [ "$kernel_version" = "" ]; then
if [ "$full_kver" = "" ]; then
echo "Error: missing kernel version argument."
exit 1
fi
if [ ! -e qla2xxx-orig/${kernel_version/^*} ]; then
"$(dirname "$0")/extract-qla2xxx-orig" "$kernel_version" || exit $?
krel=${full_kver/^*}
if [ ! -e qla2xxx-orig/"${krel}" ]; then
"$(dirname "$0")/extract-qla2xxx-orig" "${full_kver}" || exit $?
fi
kernel_version=${kernel_version/^*}
mkdir -p in-tree-patches/"${kernel_version}"
mkdir -p in-tree-patches/"${krel}"
for g in Kconfig *.[ch]; do
f1="qla2xxx-orig/${kernel_version}/$g"
f1="qla2xxx-orig/${krel}/$g"
f2="$g"
f3="in-tree-patches/${kernel_version}/$g.patch"
f3="in-tree-patches/${krel}/$g.patch"
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
if [ -e "$f1" ]; then
diff -up "$f1" "$f2" > "$f3"
@@ -29,9 +29,9 @@ for g in Kconfig *.[ch]; do
done
for g in include/trace/events/qla.h; do
f1="qla2xxx-orig/${kernel_version}/$g"
f1="qla2xxx-orig/${krel}/$g"
f2="$g"
f3="in-tree-patches/${kernel_version}/${g#include/trace/events/}.patch"
f3="in-tree-patches/${krel}/${g#include/trace/events/}.patch"
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
if [ -e "$f1" ]; then
diff -up "$f1" "$f2" > "$f3"
@@ -42,9 +42,9 @@ for g in include/trace/events/qla.h; do
done
for g in Makefile; do
f1="qla2xxx-orig/${kernel_version}/$g"
f1="qla2xxx-orig/${krel}/$g"
f2="${g}_in-tree"
f3="in-tree-patches/${kernel_version}/$g.patch"
f3="in-tree-patches/${krel}/$g.patch"
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
diff -up "$f1" "$f2" > "$f3"
fi
+12 -9
View File
@@ -6,20 +6,23 @@ source "$(dirname "$0")/../scripts/kernel-functions" || exit $?
# Argument verification #
#########################
kernel_version="$1"
full_kver="$1"
if [ "$1" = "" ]; then
if [ "${full_kver}" = "" ]; then
echo "Error: missing kernel version argument."
exit 1
fi
krel=${full_kver/^*}
mkdir -p qla2xxx-orig
cd qla2xxx-orig || exit $?
download_and_extract_kernel_tree "${kernel_version}" || exit $?
kernel_version=${kernel_version/^*}
touch "linux-${kernel_version}"/drivers/scsi/qla2xxx/*
rm -rf "${kernel_version}"
mkdir -p "${kernel_version}"
mv "linux-${kernel_version}"/drivers/scsi/qla2xxx/* "${kernel_version}"
rm -rf "linux-${kernel_version}"
download_and_extract_kernel_tree "${full_kver}" || exit $?
touch "linux-${krel}"/drivers/scsi/qla2xxx/*
rm -rf "${krel}"
mkdir -p "${krel}"
mv "linux-${krel}"/drivers/scsi/qla2xxx/* "${krel}"
rm -rf "linux-${krel}"
cd ..
+11 -11
View File
@@ -1,24 +1,24 @@
#!/bin/bash
kernel_version="$1"
full_kver="$1"
if [ "$kernel_version" = "" ]; then
if [ "${full_kver}" = "" ]; then
echo "Error: missing kernel version argument."
exit 1
fi
if [ ! -e qla2xxx-orig/${kernel_version/^*} ]; then
"$(dirname "$0")/extract-qla2xxx-orig" "$kernel_version" || exit $?
krel=${full_kver/^*}
if [ ! -e qla2xxx-orig/"${krel}" ]; then
"$(dirname "$0")/extract-qla2xxx-orig" "${full_kver}" || exit $?
fi
kernel_version=${kernel_version/^*}
mkdir -p in-tree-patches/"${kernel_version}"
mkdir -p in-tree-patches/"${krel}"
for g in Kconfig *.[ch]; do
f1="qla2xxx-orig/${kernel_version}/$g"
f1="qla2xxx-orig/${krel}/$g"
f2="$g"
f3="in-tree-patches/${kernel_version}/$g.patch"
f3="in-tree-patches/${krel}/$g.patch"
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
if [ -e "$f1" ]; then
diff -up "$f1" "$f2" > "$f3"
@@ -29,9 +29,9 @@ for g in Kconfig *.[ch]; do
done
for g in Makefile; do
f1="qla2xxx-orig/${kernel_version}/$g"
f1="qla2xxx-orig/${krel}/$g"
f2="${g}_in-tree"
f3="in-tree-patches/${kernel_version}/$g.patch"
f3="in-tree-patches/${krel}/$g.patch"
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
diff -up "$f1" "$f2" > "$f3"
fi
+11 -7
View File
@@ -236,7 +236,8 @@ fi
# Strip patch level from the kernel version number.
full_kver="$1"
kver="$(kernel_version "$1")"
kver="$(kernel_version "${full_kver}")"
krel=${full_kver/^*}
# See also commit 89d9a567952b ("[SCSI] add support for per-host cmd pools";
# v3.15).
@@ -490,11 +491,11 @@ add_file "iscsi-scst/README_in-tree" "Documentation/scst/README.iscsi" \
if [ "${qla2x00t}" = "true" ]; then
( cd qla2x00t && "$PWD/generate-in-tree-patches" "$1" ) || exit $?
( cd qla2x00t && "$PWD/generate-in-tree-patches" "${full_kver}" ) || exit $?
for f in qla2x00t/in-tree-patches/"$1"/*.patch; do
for f in qla2x00t/in-tree-patches/"${krel}"/*.patch; do
[ -e "$f" ] || continue
g="${f#qla2x00t/in-tree-patches/$1/}"
g="${f#qla2x00t/in-tree-patches/"${krel}"/}"
g="${g%.patch}"
add_patch "${f}" "drivers/scsi/qla2xxx/${g}"
done
@@ -516,12 +517,14 @@ if [ "${qla2x00t}" = "true" ]; then
elif [ "${qla2x00t_32gbit}" = "true" ]; then
( cd qla2x00t-32gbit && "$PWD/generate-in-tree-patches" "$1" ) || exit $?
( cd qla2x00t-32gbit && "$PWD/generate-in-tree-patches" "${full_kver}" ) || exit $?
for f in qla2x00t-32gbit/in-tree-patches/"$1"/*.patch; do
for f in qla2x00t-32gbit/in-tree-patches/"${krel}"/*.patch; do
[ -e "$f" ] || continue
g="${f#qla2x00t-32gbit/in-tree-patches/$1/}"
g="${f#qla2x00t-32gbit/in-tree-patches/"${krel}"/}"
g="${g%.patch}"
if [ "$g" = "qla.h" ]; then
add_patch "${f}" "include/trace/events/${g}"
else
@@ -531,6 +534,7 @@ elif [ "${qla2x00t_32gbit}" = "true" ]; then
for f in qla2x00t-32gbit/qla2x00-target/*.[ch]; do
[ -e "$f" ] || continue
add_file "${f}" "drivers/scsi/qla2xxx/${f#qla2x00t-32gbit/qla2x00-target/}"
done
+3 -3
View File
@@ -210,11 +210,11 @@ function generate_kernel_patch {
kver="$(kernel_version "${1/^*}")"
driver_options=(-l)
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" $2 "$1" > "${patchfile}"
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" "$2" "$1" > "${patchfile}"
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" -n $2 "$1" > "${patchfile_m}"
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" -n "$2" "$1" > "${patchfile_m}"
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" -p "${outputdir}/${patchdir}" $2 "$1"
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" -p "${outputdir}/${patchdir}" "$2" "$1"
}
# Run checkpatch on the generated kernel patch. Assumes that there is a