Bug 1931862
| Summary: | fsadm reports unbound variable when used -l <path to LV> | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Lukas Herbolt <lherbolt> | |
| Component: | lvm2 | Assignee: | Zdenek Kabelac <zkabelac> | |
| lvm2 sub component: | Command-line tools | QA Contact: | cluster-qe <cluster-qe> | |
| Status: | CLOSED ERRATA | Docs Contact: | ||
| Severity: | high | |||
| Priority: | unspecified | CC: | agk, cmarthal, heinzm, jbrassow, jbyrd, jreznik, mcsontos, mjuricek, msnitzer, prajnoha, thornber, zkabelac | |
| Version: | 7.9 | Keywords: | Triaged, ZStream | |
| Target Milestone: | rc | Flags: | pm-rhel:
mirror+
|
|
| Target Release: | --- | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | lvm2-2.02.187-6.el7_9.5 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1931893 (view as bug list) | Environment: | ||
| Last Closed: | 2021-04-27 11:31:32 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1931893 | |||
Omission in testing - since internal lvm2 testing always defines this variable :(
to precisely identify binary for execution.
Correct patch is this:
diff --git a/scripts/fsadm.sh b/scripts/fsadm.sh
index 2cb1fc75b..4f59cee13 100755
--- a/scripts/fsadm.sh
+++ b/scripts/fsadm.sh
@@ -163,7 +163,7 @@ cleanup() {
_FSADM_EXTOFF=$EXTOFF
export _FSADM_YES _FSADM_EXTOFF
unset FSADM_RUNNING
- test -n "$LVM_BINARY" && PATH=$_SAVEPATH
+ test -n "${LVM_BINARY-}" && PATH=$_SAVEPATH
dry exec "$LVM" lvresize $VERB $FORCE -r -L"${NEWSIZE_ORIG}b" "$VOLUME_ORIG"
fi
--
As an instant workaround user can use:
lvresize -r -L...
or define LVM_BINARY=lvm before execution of fsadm tool
or apply given patch locally.
Pushed upstream stable-2.02 branch fixes here: https://listman.redhat.com/archives/lvm-devel/2021-February/msg00124.html and test suite fix to avoid setting LVM_BINARY and better simulate real-world usage: https://listman.redhat.com/archives/lvm-devel/2021-February/msg00117.html Huh, did not know ${VARIABLE-} will fix it.
Many thanks.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (lvm2 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:1386 |
Description of problem: When resizing fs along with LV fsadm ends up with unbound variable problem. It came up after upgrade from: lvm2-2.02.187-6.el7.x86_64.rpm to lvm2-2.02.187-6.el7_9.3.x86_64 Version-Release number of selected component (if applicable): lvm2-2.02.187-6.el7_9.3.x86_64 How reproducible: Always Steps to Reproduce: 1. install lvm2 lvm2-2.02.187-6.el7_9.3.x86_64 2. fsadm -l /dev/test/xfs 3G Actual results: [root@sm-x1220-3 ~]# fsadm -l resize /dev/test/xfs 8G /usr/sbin/fsadm: line 166: LVM_BINARY: unbound variable Expected results: [root@sm-x1220-3 ~]# ./fsadm -l resize /dev/test/xfs 8G Phase 1 - find and verify superblock... - reporting progress in intervals of 15 minutes - 13:15:38: verify and correct link counts - 32 of 32 allocation groups done No modify flag set, skipping filesystem flush and exiting. Size of logical volume test/xfs unchanged from 8.00 GiB (2048 extents). Logical volume test/xfs successfully resized. Additional info: Note that ./fsadm in the expected result is localy extracted fsadm from: lvm2-2.02.187-6.el7.x86_64.rpm The behavior is caused be the -u at the line 32: set -euE -o pipefail Removing it will fix the issue instead of testing LVM_BINARY variable test the LVM: [root@sm-x1220-3 ~]# diff -u /usr/sbin/fsadm.orig /usr/sbin/fsadm --- /usr/sbin/fsadm.orig 2021-02-23 13:25:19.325897761 +0100 +++ /usr/sbin/fsadm 2021-02-23 13:25:51.070445375 +0100 @@ -163,7 +163,7 @@ _FSADM_EXTOFF=$EXTOFF export _FSADM_YES _FSADM_EXTOFF unset FSADM_RUNNING - test -n "$LVM_BINARY" && PATH=$_SAVEPATH + test -n "$LVM" && PATH=$_SAVEPATH dry exec "$LVM" lvresize $VERB $FORCE -r -L"${NEWSIZE_ORIG}b" "$VOLUME_ORIG" fi