Projects
openEuler:24.03:SP1:Everything
util-linux
_service:tar_scm:backport-tests-functions.sh-ad...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-tests-functions.sh-add-a-helper-funcion-making-a-dev.patch of Package util-linux
From d4dea14933bc3ee750d6762a6f615d2a4fe24c34 Mon Sep 17 00:00:00 2001 From: Masatake YAMATO <yamato@redhat.com> Date: Wed, 10 Apr 2024 18:36:47 +0900 Subject: [PATCH] tests: (functions.sh) add a helper funcion making a device number from given major and minor nums Fixes #2919. Suggested by Karel Zak <kzak@redhat.com>. The original code used an obsolete formula to make a device number from given major and minor numbers. ts_device_make is a new helper function based on the formula of __SYSMACROS_DEFINE_MAKEDEV macro defined in /usr/include/bits/sysmacros.h of GNU libc. Suggested by Karel Zak <kzak@redhat.com> in #2919. Signed-off-by: Masatake YAMATO <yamato@redhat.com> --- tests/functions.sh | 15 +++++++++++++++ tests/ts/lsfd/lsfd-functions.bash | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/functions.sh b/tests/functions.sh index 5fe5ba07f..4a00b2ff4 100644 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -788,6 +788,21 @@ function ts_device_has { return $res } +# Based on __SYSMACROS_DEFINE_MAKEDEV macro +# defined in /usr/include/bits/sysmacros.h of GNU libc. +function ts_makedev +{ + local major="$1" + local minor="$2" + local dev + + dev=$(( ( major & 0x00000fff ) << 8)) + dev=$((dev | ( major & 0xfffff000 ) << 32)) + dev=$((dev | ( minor & 0x000000ff ) << 0)) + dev=$((dev | ( minor & 0xffffff00 ) << 12)) + echo $dev +} + function ts_is_uuid() { printf "%s\n" "$1" | grep -E -q '^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$' diff --git a/tests/ts/lsfd/lsfd-functions.bash b/tests/ts/lsfd/lsfd-functions.bash index 3a3f58f0c..533c25fae 100644 --- a/tests/ts/lsfd/lsfd-functions.bash +++ b/tests/ts/lsfd/lsfd-functions.bash @@ -44,7 +44,7 @@ function lsfd_compare_dev { echo 'DEV[RUN]:' $? local MAJ=${DEV%:*} local MIN=${DEV#*:} - local DEVNUM=$(( ( MAJ << 8 ) + MIN )) + local DEVNUM=$(ts_makedev "$MAJ" "$MIN") local STAT_DEVNUM=$(stat -c "%d" "$FILE") echo 'STAT[RUN]:' $? if [ "${DEVNUM}" == "${STAT_DEVNUM}" ]; then -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2