All of lore.kernel.org
 help / color / mirror / Atom feed
From: zkabelac@sourceware.org <zkabelac@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2/test t-lvcreate-thin.sh
Date: 16 Sep 2011 12:23:59 -0000	[thread overview]
Message-ID: <20110916122359.27089.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	zkabelac at sourceware.org	2011-09-16 12:23:59

Added files:
	test           : t-lvcreate-thin.sh 

Log message:
	Add inital thin testing
	
	Currently test is skipped by default (since it needs code hack to work)
	Check command line options to create & remove thin pools and thin volumes.
	
	Activation code for thin LV support is missing, thus it only works without
	driver loaded.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-lvcreate-thin.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1

/cvs/lvm2/LVM2/test/t-lvcreate-thin.sh,v  -->  standard output
revision 1.1
--- LVM2/test/t-lvcreate-thin.sh
+++ -	2011-09-16 12:23:59.826257000 +0000
@@ -0,0 +1,146 @@
+#!/bin/sh
+
+# Copyright (C) 2011 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+# test currently needs to drop
+# 'return NULL' in _lv_create_an_lv after log_error("Can't create %s without using "
+exit 200
+
+. lib/test
+
+aux prepare_vg 4
+
+# FIXME: !!!disabled activation for testing for now!!!
+aux lvmconf "global/activation = 0"
+
+check_lv_exists_()
+{
+	for d in $*; do
+		check lv_exists $vg $d
+        done
+}
+
+
+# Create named pool only
+lvcreate -L4M -T $vg/pool1
+lvcreate -L4M -T --thinpool $vg/pool2
+lvcreate -L4M -T --thinpool pool3 $vg
+lvcreate -L4M --type thin $vg/pool4
+lvcreate -L4M --type thin --thinpool $vg/pool5
+lvcreate -L4M --type thin --thinpool pool6 $vg
+lvcreate -L4M --type thin_pool $vg/pool7
+lvcreate -L4M --type thin_pool --thinpool $vg/pool8
+lvcreate -L4M --type thin_pool --thinpool pool9 $vg
+
+lvremove $vg/pool1 $vg/pool2 $vg/pool3 $vg/pool4 $vg/pool5 $vg/pool6 $vg/pool7 $vg/pool8 $vg/pool9
+
+
+# Create default pool name
+lvcreate -L8M -T $vg
+lvcreate -L8M --type thin $vg
+lvcreate -L8M --type thin_pool $vg
+
+lvremove $vg/lvol0 $vg/lvol1 $vg/lvol2
+
+
+# Create default pool and default thin LV
+lvcreate -L8M -V2G -T $vg
+lvcreate -L8M -V2G --type thin $vg
+
+lvremove -ff $vg/lvol0 $vg/lvol2
+
+
+# Create given pool and default thin LV
+lvcreate -L8M -V2G -T $vg/pool1
+lvcreate -L8M -V2G -T --thinpool $vg/pool2
+lvcreate -L8M -V2G -T --thinpool pool3 $vg
+lvcreate -L8M -V2G --type thin $vg/pool4
+lvcreate -L8M -V2G --type thin --thinpool $vg/pool5
+lvcreate -L8M -V2G --type thin --thinpool pool6 $vg
+
+check_lv_exists_ lvol0 lvol1 lvol2 lvol3 lvol4 lvol5
+lvremove -ff $vg/pool1 $vg/pool2 $vg/pool3 $vg/pool4 $vg/pool5 $vg/pool6
+
+
+# Create given pool and given thin LV
+lvcreate -L8M -V2G -T $vg/pool1 --name lv1
+lvcreate -L8M -V2G -T $vg/pool2 --name $vg/lv2
+lvcreate -L8M -V2G -T --thinpool $vg/pool3 --name lv3
+lvcreate -L8M -V2G -T --thinpool $vg/pool4 --name $vg/lv4
+lvcreate -L8M -V2G -T --thinpool pool5 --name lv5 $vg
+lvcreate -L8M -V2G -T --thinpool pool6 --name $vg/lv6 $vg
+
+check_lv_exists_ lv1 lv2 lv3 lv4 lv5 lv6
+lvremove -ff $vg/pool1 $vg/pool2 $vg/pool3 $vg/pool4 $vg/pool5 $vg/pool6
+
+
+lvcreate -L8M -V2G --type thin $vg/pool1 --name lv1
+lvcreate -L8M -V2G --type thin $vg/pool2 --name $vg/lv2
+lvcreate -L8M -V2G --type thin --thinpool $vg/pool3 --name lv3
+lvcreate -L8M -V2G --type thin --thinpool $vg/pool4 --name $vg/lv4
+lvcreate -L8M -V2G --type thin --thinpool pool5 --name lv5 $vg
+lvcreate -L8M -V2G --type thin --thinpool pool6 --name $vg/lv6 $vg
+
+check_lv_exists_ lv1 lv2 lv3 lv4 lv5 lv6
+lvremove -ff $vg/pool1 $vg/pool2 $vg/pool3 $vg/pool4 $vg/pool5 $vg/pool6
+
+
+check vg_field $vg lv_count 0
+
+# Create thin LV in existing pool
+lvcreate -L8M -T $vg/pool
+lvcreate -V2G -T $vg/pool
+lvcreate -V2G -T --thinpool $vg/pool
+lvcreate -V2G -T --thinpool pool $vg
+lvcreate -V2G --type thin $vg/pool
+lvcreate -V2G --type thin --thinpool $vg/pool
+lvcreate -V2G --type thin --thinpool pool $vg
+
+check_lv_exists_ lvol0 lvol1 lvol2 lvol3 lvol4 lvol5
+
+
+lvcreate -V2G -T $vg/pool --name lv1
+lvcreate -V2G -T $vg/pool --name $vg/lv2
+lvcreate -V2G -T --thinpool $vg/pool --name lv3
+lvcreate -V2G -T --thinpool $vg/pool --name $vg/lv4
+lvcreate -V2G -T --thinpool pool --name lv5 $vg
+lvcreate -V2G -T --thinpool pool --name $vg/lv6 $vg
+lvcreate -V2G --type thin $vg/pool --name lv7
+lvcreate -V2G --type thin $vg/pool --name $vg/lv8
+lvcreate -V2G --type thin --thinpool $vg/pool --name lv9
+lvcreate -V2G --type thin --thinpool $vg/pool --name $vg/lv10
+lvcreate -V2G --type thin --thinpool pool --name lv11 $vg
+lvcreate -V2G --type thin --thinpool pool --name $vg/lv12 $vg
+
+check_lv_exists_ lv1 lv2 lv3 lv4 lv5 lv6 lv7 lv8 lv9 lv10 lv11 lv12
+check vg_field $vg lv_count 19
+lvremove -ff $vg/pool
+
+
+check vg_field $vg lv_count 0
+
+exit 0
+# FIXME: !!!Unsupported yet!!!
+
+# Create snapshot of thinLV
+lvcreate -L8M -V2G -T $vg/pool --name lv1
+should lvcreate -s $vg/lv1
+should lvcreate -s $vg/lv1 --name lv2
+should lvcreate -s $vg/lv1 --name $vg/lv3
+should lvcreate --type snapshot $vg/lv1
+should lvcreate --type snapshot $vg/lv1 --name lv4
+should lvcreate --type snapshot $vg/lv1 --name $vg/lv5
+
+# Normal Snapshots
+should lvcreate -s $vg/lv0 -L8M
+should lvcreate -s $vg/lv0 -L8M --name lv6
+should lvcreate -s $vg/lv0 -L8M --name $vg/lv7
+should lvcreate -s lv0 -L12M --name $vg/lv8



             reply	other threads:[~2011-09-16 12:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-16 12:23 zkabelac [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-11-10 12:44 LVM2/test t-lvcreate-thin.sh zkabelac

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=20110916122359.27089.qmail@sourceware.org \
    --to=zkabelac@sourceware.org \
    --cc=lvm-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.