From: Lukas Czerner <lczerner@redhat.com>
To: zkabelac@redhat.com
Cc: Lukas Czerner <lczerner@redhat.com>,
dchinner@redhat.com, rwheeler@redhat.com, linux-lvm@redhat.com
Subject: [linux-lvm] [PATCH 05/35] fsadm: Teach "destroy" command to take more arguments
Date: Wed, 21 Sep 2011 18:45:24 +0200 [thread overview]
Message-ID: <1316623554-28975-6-git-send-email-lczerner@redhat.com> (raw)
In-Reply-To: <1316623554-28975-1-git-send-email-lczerner@redhat.com>
This commit teaches the destroy command to remove more groups or lvs at
one invocation by specifying more arguments.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
scripts/fsadm.sh | 59 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 35 insertions(+), 24 deletions(-)
diff --git a/scripts/fsadm.sh b/scripts/fsadm.sh
index 00b5019..3e9ed3b 100755
--- a/scripts/fsadm.sh
+++ b/scripts/fsadm.sh
@@ -125,6 +125,10 @@ error() {
cleanup 1
}
+warn() {
+ echo "$TOOL: $@" >&2
+}
+
dry() {
if [ "$DRY" -ne 0 ]; then
verbose "Dry execution $@"
@@ -517,8 +521,8 @@ create() {
detect_device_group $devices
if [ $? -ne 0 ]; then
- error "Some of the devices are in different groups. Please run \
- \"$TOOL list\" to get more information on layout."
+ error "Devices are in different groups. Please run "\
+ "\"$TOOL list\" to get more information on layout."
fi
if [ $GROUP ] && [ $vgname ];then
if [ "$vgname" != "$GROUP" ]; then
@@ -629,29 +633,19 @@ create() {
esac
}
-#############################
-# Remove the logical volume
-# of the whole volume group
-#############################
-destroy() {
- if [ $# -gt 2 ]; then
- error "Wrong option for destroy. (see: $TOOL --help)"
- fi
-
- # help
- if [ "$1" == "help" ]; then
- echo "Usage: $TOOL destroy [mount point | dm device | voulume group]"
- exit 0
- fi
+do_destroy() {
+ item=$1
+ device=
+ MOUNTED=
# Block device has been given
- if [ -b $1 ]; then
- device=$1
+ if [ -b $item ]; then
+ device=$item
fi
# Mount point has been given
- if [ -z $device ] && [ -d $1 ]; then
- mp=$(echo $1 | sed -e 's/\/$//')
+ if [ -z $device ] && [ -d $item ]; then
+ mp=$(echo $item | sed -e 's/\/$//')
count=$($GREP " $mp " $PROCMOUNTS | wc -l)
@@ -659,22 +653,22 @@ destroy() {
device=$($GREP " $mp " $PROCMOUNTS | cut -d' ' -f1)
else
count=$(LANG=C $MOUNT | $GREP " $mp " | wc -l)
- [ $count -ne 1 ] && error "Could not find device mounted at $mp"
+ [ $count -ne 1 ] && warn "Could not find device mounted at $mp" && return
device=$(LANG=C $MOUNT | $GREP " $mp " | cut -d' ' -f1)
fi
MOUNTED=$device
fi
if [ -z $device ]; then
- $LVM vgs $1 &> /dev/null
+ $LVM vgs $item &> /dev/null
# Volume group has been given
if [ $? -eq 0 ]; then
- dry $LVM vgremove $FORCE $1
+ dry $LVM vgremove $FORCE $item
return 0
fi
fi
- [ -z $device ] && error "$1 is not a valid mount point, dm device nor volume group name."
+ [ -z $device ] && warn "$item is not a valid mount point, dm device nor volume group name."&& return
if [ $MOUNTED ]; then
try_umount
@@ -682,6 +676,23 @@ destroy() {
dry $LVM lvremove $FORCE $device
}
+#############################
+# Remove the logical volume
+# of the whole volume group
+#############################
+destroy() {
+ # help
+ if [ "$1" == "help" ]; then
+ echo "Usage: $TOOL destroy [mount point | dm device | voulume group]"
+ exit 0
+ fi
+
+ for item in $@; do
+ do_destroy $item
+ done
+
+}
+
#####################################
# Convet the size into human readable
# form. size in KiB expected
--
1.7.4.4
next prev parent reply other threads:[~2011-09-21 16:45 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-21 16:45 [linux-lvm] [RFC][PATCH 00/35] fsadm update Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 01/35] fsadm: Add "create" command Lukas Czerner
2011-09-21 19:00 ` Stephane Chazelas
2011-09-22 9:28 ` Lukas Czerner
2011-09-22 10:01 ` Zdenek Kabelac
2011-09-22 10:27 ` Lukas Czerner
2011-09-22 10:56 ` Stephane Chazelas
2011-09-21 16:45 ` [linux-lvm] [PATCH 02/35] fsadm: Add "destroy" command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 03/35] fsadm: Add "list" command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 04/35] fsadm: Make "create" command more vg aware Lukas Czerner
2011-09-21 16:45 ` Lukas Czerner [this message]
2011-09-21 16:45 ` [linux-lvm] [PATCH 06/35] fsadm: Simple cleanup and comment update Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 07/35] fsadm: Create "add" command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 08/35] fsadm: Update "list" command for better alignment Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 09/35] fsadm: Specify number of stripes when no device is given Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 10/35] fsadm: Print type of the volume in filesystem listing Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 11/35] fsadm: Add "remove" command Lukas Czerner
2011-09-22 10:06 ` Zdenek Kabelac
2011-09-22 10:36 ` Lukas Czerner
2011-09-22 10:43 ` Zdenek Kabelac
2011-09-22 10:52 ` Lukas Czerner
2011-09-22 11:41 ` Zdenek Kabelac
2011-09-21 16:45 ` [linux-lvm] [PATCH 12/35] fsadm: Try to avoid calling LVM in the loops Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 13/35] fsadm: Merge "destroy" and "remove" into one command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 14/35] fsadm: Allow to remove all volume groups Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 15/35] fsadm: Make all internal math in kilobytes Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 16/35] fsadm: Use warn for warnings in list command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 17/35] fsadm: Handle resize if there is no file system Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 18/35] fsadm: Fsck extN before resize only if it is not mounted Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 19/35] fsadm: Align numbers to the decimal point Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 20/35] fsadm: Add simple configuration file Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 21/35] fsadm: Use DEFAULT_POOL when creating volume group Lukas Czerner
2011-09-22 10:09 ` Zdenek Kabelac
2011-09-21 16:45 ` [linux-lvm] [PATCH 22/35] fsadm: Add LVOL_PREFIX configuration option Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 23/35] fsadm: Only use readlink if link is provided Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 24/35] fsadm: Remove unnecessary modification of PATH variable Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 25/35] fsadm: Allow to specify size without "size=" prefix in "resize" Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 26/35] fsadm: Allow to specify lv in vg/lv format Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 27/35] fsadm: error out when no size is provided in resize Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 28/35] fsadm: Umount ext2 file system prior resize Lukas Czerner
2011-09-22 10:28 ` Zdenek Kabelac
2011-09-21 16:45 ` [linux-lvm] [PATCH 29/35] lvresize: Specify --resize-fs-only when going to use fsadm resize Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 30/35] test: add helper to compute aligned lv size Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 31/35] fsadm: Add help for new commands and update man page Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 32/35] fsadm: Update authorship of the fsadm Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 33/35] test: Add test for fsadm add command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 34/35] test: Add test for fsadm create command Lukas Czerner
2011-09-21 16:45 ` [linux-lvm] [PATCH 35/35] test: Add test for fsadm resize command Lukas Czerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1316623554-28975-6-git-send-email-lczerner@redhat.com \
--to=lczerner@redhat.com \
--cc=dchinner@redhat.com \
--cc=linux-lvm@redhat.com \
--cc=rwheeler@redhat.com \
--cc=zkabelac@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).