diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2010-11-01 14:08:51 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2010-11-01 14:08:51 +0000 |
commit | 4886fa2105a3cc55c75ca5c401c5267758702d2c (patch) | |
tree | 3a1abbfc8531156fa8d51ffdb9aea14e96701d53 /scripts/fsadm.sh | |
parent | 2bea18e5040d0628000889d06f5c9763a04773d1 (diff) | |
download | lvm2-4886fa2105a3cc55c75ca5c401c5267758702d2c.tar.gz |
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.
Diffstat (limited to 'scripts/fsadm.sh')
-rw-r--r-- | scripts/fsadm.sh | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/fsadm.sh b/scripts/fsadm.sh index c1e8fb182..b05f33e8d 100644 --- a/scripts/fsadm.sh +++ b/scripts/fsadm.sh @@ -23,6 +23,11 @@ # reiserfs: resize_reiserfs, reiserfstune # 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 @@ -126,6 +131,8 @@ cleanup() { IFS=$IFS_OLD trap 2 + test "$1" -eq 2 && verbose "Break detected" + if [ "$DO_LVRESIZE" -eq 2 ]; then # start LVRESIZE with the filesystem modification flag # and allow recursive call of fsadm @@ -349,7 +356,6 @@ resize() { # if the size parameter is missing use device size #if [ -n "$NEWSIZE" -a $NEWSIZE < test -z "$NEWSIZE" && NEWSIZE=${DEVSIZE}b - trap cleanup 2 IFS=$NL case "$FSTYPE" in "ext3"|"ext2"|"ext4") resize_ext $NEWSIZE ;; @@ -365,7 +371,10 @@ resize() { ################### check() { 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 "xfs") dry $XFS_CHECK "$VOLUME" ;; *) # check if executed from interactive shell environment @@ -380,6 +389,7 @@ check() { # start point of this script # - parsing parameters ############################# +trap "cleanup 2" 2 # test if we are not invoked recursively test -n "$FSADM_RUNNING" && exit 0 |