[lvm-devel] LVM2 ./WHATS_NEW scripts/fsadm.sh
zkabelac at sourceware.org
zkabelac at sourceware.org
Mon Nov 1 14:08:54 UTC 2010
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at sourceware.org 2010-11-01 14:08:52
Modified files:
. : WHATS_NEW
scripts : fsadm.sh
Log message:
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.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1783&r2=1.1784
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/scripts/fsadm.sh.diff?cvsroot=lvm2&r1=1.20&r2=1.21
--- LVM2/WHATS_NEW 2010/10/29 21:15:23 1.1783
+++ LVM2/WHATS_NEW 2010/11/01 14:08:51 1.1784
@@ -1,5 +1,6 @@
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.
Allow independent vgchange arguments to be used together.
Automatically unmount invalidated snapshots in dmeventd.
--- LVM2/scripts/fsadm.sh 2010/10/08 15:02:05 1.20
+++ LVM2/scripts/fsadm.sh 2010/11/01 14:08:52 1.21
@@ -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 @@
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 @@
# 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 @@
###################
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 @@
# start point of this script
# - parsing parameters
#############################
+trap "cleanup 2" 2
# test if we are not invoked recursively
test -n "$FSADM_RUNNING" && exit 0
More information about the lvm-devel
mailing list