mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
Return different status code for fsadm check of mounted filesystem
Return status code 3 for fsadm check of mounted filesystem - used later with lvresize update patch to better support online filesystem resize. Also makes a more consistent user interruption and returns status code 2 in this case.
This commit is contained in:
parent
2bea18e504
commit
4886fa2105
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.76 -
|
Version 2.02.76 -
|
||||||
===================================
|
===================================
|
||||||
|
Modify fsadm to return different status code for check of mounted filesystem.
|
||||||
Update VG metadata only once in vgchange when making multiple changes.
|
Update VG metadata only once in vgchange when making multiple changes.
|
||||||
Allow independent vgchange arguments to be used together.
|
Allow independent vgchange arguments to be used together.
|
||||||
Automatically unmount invalidated snapshots in dmeventd.
|
Automatically unmount invalidated snapshots in dmeventd.
|
||||||
|
@ -23,6 +23,11 @@
|
|||||||
# reiserfs: resize_reiserfs, reiserfstune
|
# reiserfs: resize_reiserfs, reiserfstune
|
||||||
# xfs: xfs_growfs, xfs_info
|
# xfs: xfs_growfs, xfs_info
|
||||||
#
|
#
|
||||||
|
# Return values:
|
||||||
|
# 0 success
|
||||||
|
# 1 error
|
||||||
|
# 2 break detected
|
||||||
|
# 3 unsupported online filesystem check for given mounted fs
|
||||||
|
|
||||||
TOOL=fsadm
|
TOOL=fsadm
|
||||||
|
|
||||||
@ -126,6 +131,8 @@ cleanup() {
|
|||||||
IFS=$IFS_OLD
|
IFS=$IFS_OLD
|
||||||
trap 2
|
trap 2
|
||||||
|
|
||||||
|
test "$1" -eq 2 && verbose "Break detected"
|
||||||
|
|
||||||
if [ "$DO_LVRESIZE" -eq 2 ]; then
|
if [ "$DO_LVRESIZE" -eq 2 ]; then
|
||||||
# start LVRESIZE with the filesystem modification flag
|
# start LVRESIZE with the filesystem modification flag
|
||||||
# and allow recursive call of fsadm
|
# and allow recursive call of fsadm
|
||||||
@ -349,7 +356,6 @@ resize() {
|
|||||||
# if the size parameter is missing use device size
|
# if the size parameter is missing use device size
|
||||||
#if [ -n "$NEWSIZE" -a $NEWSIZE <
|
#if [ -n "$NEWSIZE" -a $NEWSIZE <
|
||||||
test -z "$NEWSIZE" && NEWSIZE=${DEVSIZE}b
|
test -z "$NEWSIZE" && NEWSIZE=${DEVSIZE}b
|
||||||
trap cleanup 2
|
|
||||||
IFS=$NL
|
IFS=$NL
|
||||||
case "$FSTYPE" in
|
case "$FSTYPE" in
|
||||||
"ext3"|"ext2"|"ext4") resize_ext $NEWSIZE ;;
|
"ext3"|"ext2"|"ext4") resize_ext $NEWSIZE ;;
|
||||||
@ -365,7 +371,10 @@ resize() {
|
|||||||
###################
|
###################
|
||||||
check() {
|
check() {
|
||||||
detect_fs "$1"
|
detect_fs "$1"
|
||||||
detect_mounted && error "Cannot fsck device \"$VOLUME\", filesystem is mounted on $MOUNTED"
|
if detect_mounted ; then
|
||||||
|
verbose "Skipping filesystem check for device \"$VOLUME\" as the filesystem is mounted on $MOUNTED";
|
||||||
|
cleanup 3
|
||||||
|
fi
|
||||||
case "$FSTYPE" in
|
case "$FSTYPE" in
|
||||||
"xfs") dry $XFS_CHECK "$VOLUME" ;;
|
"xfs") dry $XFS_CHECK "$VOLUME" ;;
|
||||||
*) # check if executed from interactive shell environment
|
*) # check if executed from interactive shell environment
|
||||||
@ -380,6 +389,7 @@ check() {
|
|||||||
# start point of this script
|
# start point of this script
|
||||||
# - parsing parameters
|
# - parsing parameters
|
||||||
#############################
|
#############################
|
||||||
|
trap "cleanup 2" 2
|
||||||
|
|
||||||
# test if we are not invoked recursively
|
# test if we are not invoked recursively
|
||||||
test -n "$FSADM_RUNNING" && exit 0
|
test -n "$FSADM_RUNNING" && exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user