From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32223 invoked by alias); 7 Aug 2009 21:22:38 -0000 Received: (qmail 32208 invoked by uid 9657); 7 Aug 2009 21:22:38 -0000 Date: Fri, 07 Aug 2009 21:22:00 -0000 Message-ID: <20090807212238.32206.qmail@sourceware.org> From: wysochanski@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/test/api test.c Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2009-08/txt/msg00039.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: wysochanski@sourceware.org 2009-08-07 21:22:37 Modified files: test/api : test.c Log message: Update test/api/test.c to call lvm_vg_create and lvm_vg_remove. Also fix a couple bugs. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/api/test.c.diff?cvsroot=lvm2&r1=1.24&r2=1.25 --- LVM2/test/api/test.c 2009/07/29 14:06:31 1.24 +++ LVM2/test/api/test.c 2009/08/07 21:22:37 1.25 @@ -81,6 +81,10 @@ "Issue a lvm_vg_open() API call on VG 'vgname'\n"); printf("'vg_close vgname': " "Issue a lvm_vg_close() API call on VG 'vgname'\n"); + printf("'vg_create vgname: " + "Issue a lvm_vg_create() to create VG 'vgname'\n"); + printf("'vg_remove vgname: " + "Issue a lvm_vg_remove() to remove VG 'vgname'\n"); printf("'config_reload': " "Issue a lvm_config_reload() API to reload LVM config\n"); printf("'config_override' device: " @@ -351,24 +355,70 @@ return; } vg = _lookup_vg_by_name(argv, argc); - if (vg) - rc = lvm_vg_write(vg); + if (!vg) { + printf("Can't find vg_name %s\n", argv[1]); + return; + } + rc = lvm_vg_write(vg); _lvm_status_to_pass_fail(rc); printf("writing VG %s\n", lvm_vg_get_name(vg)); } +static void _vg_create(char **argv, int argc, lvm_t libh) +{ + vg_t *vg; + + if (argc < 2) { + printf ("Please enter vg_name\n"); + return; + } + vg = lvm_vg_create(libh, argv[1]); + if (!vg || !lvm_vg_get_name(vg)) { + printf("Error creating %s\n", argv[1]); + return; + } + + printf("Success creating vg %s\n", argv[1]); + dm_hash_insert(_vgname_hash, lvm_vg_get_name(vg), vg); + dm_hash_insert(_vgid_hash, lvm_vg_get_uuid(vg), vg); +} + +static void _vg_remove(char **argv, int argc) +{ + vg_t *vg; + int rc = 0; + + if (argc < 2) { + printf ("Please enter vg_name\n"); + return; + } + vg = _lookup_vg_by_name(argv, argc); + if (!vg) { + printf("Can't find vg_name %s\n", argv[1]); + return; + } + rc = lvm_vg_remove(vg); + _lvm_status_to_pass_fail(rc); + printf("removing VG\n"); +} + static void _vg_close(char **argv, int argc) { vg_t *vg; + int rc = 0; if (argc < 2) { printf ("Please enter vg_name\n"); return; } vg = _lookup_and_remove_vg(argv[1]); - if (vg) - lvm_vg_close(vg); - /* FIXME: remove LVs from lvname_hash */ + if (!vg) { + printf("Can't find vg_name %s\n", argv[1]); + return; + } + rc = lvm_vg_close(vg); + _lvm_status_to_pass_fail(rc); + printf("closing VG\n"); } static void _show_one_vg(vg_t *vg) @@ -593,6 +643,10 @@ _vg_open(argv, argc, libh); } else if (!strcmp(argv[0], "vg_close")) { _vg_close(argv, argc); + } else if (!strcmp(argv[0], "vg_create")) { + _vg_create(argv, argc, libh); + } else if (!strcmp(argv[0], "vg_remove")) { + _vg_remove(argv, argc); } else if (!strcmp(argv[0], "lv_activate")) { _lv_activate(argv, argc); } else if (!strcmp(argv[0], "lv_deactivate")) {