| #!/bin/sh |
| # Copyright (C) 2013 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| |
| # Check perfomance of activation and deactivation |
| SKIP_WITH_LVMLOCKD=1 |
| SKIP_WITH_LVMPOLLD=1 |
| |
| . lib/inittest |
| |
| # FIXME: lvmetad fails with i.e. 1500 device on memory failure... |
| |
| # Number of LVs to create |
| DEVICES=1000 |
| # On low-memory boxes let's not stress too much |
| test "$(aux total_mem)" -gt 524288 || DEVICES=256 |
| |
| aux prepare_pvs 1 400 |
| |
| vgcreate -s 128K $vg $(cat DEVICES) |
| |
| vgcfgbackup -f data $vg |
| |
| # Generate a lot of devices (size of 1 extent) |
| awk -v DEVICES=$DEVICES '/^\t\}/ { \ |
| printf("\t}\n\tlogical_volumes {\n");\ |
| cnt=0; |
| for (i = 0; i < DEVICES; i++) { \ |
| printf("\t\tlvol%06d {\n", i);\ |
| printf("\t\t\tid = \"%06d-1111-2222-3333-2222-1111-%06d\"\n", i, i); \ |
| print "\t\t\tstatus = [\"READ\", \"WRITE\", \"VISIBLE\"]"; \ |
| print "\t\t\tsegment_count = 1"; \ |
| print "\t\t\tsegment1 {"; \ |
| print "\t\t\t\tstart_extent = 0"; \ |
| print "\t\t\t\textent_count = 1"; \ |
| print "\t\t\t\ttype = \"striped\""; \ |
| print "\t\t\t\tstripe_count = 1"; \ |
| print "\t\t\t\tstripes = ["; \ |
| print "\t\t\t\t\t\"pv0\", " cnt++; \ |
| printf("\t\t\t\t]\n\t\t\t}\n\t\t}\n"); \ |
| } \ |
| } |
| {print} |
| ' data >data_new |
| |
| vgcfgrestore -f data_new $vg |
| |
| # Activate and deactivate all of them |
| vgchange -ay $vg |
| vgchange -an $vg |