mirror of
git://sourceware.org/git/lvm2.git
synced 2025-02-24 17:57:48 +03:00
Update test/api/test.c to call lvm_lv_remove.
Author: Dave Wysochanski <dwysocha@redhat.com>
This commit is contained in:
parent
8bcb96836d
commit
befeabb45a
@ -50,6 +50,8 @@ static int lvm_split(char *str, int *argc, char **argv, int max)
|
||||
|
||||
static void _show_help(void)
|
||||
{
|
||||
printf("'vg_remove_lv vgname lvname': "
|
||||
"Remove a LV\n");
|
||||
printf("'vg_create_lv_linear vgname lvname size_in_bytes': "
|
||||
"Create a linear LV\n");
|
||||
printf("'scan_vgs': "
|
||||
@ -116,6 +118,23 @@ static int _hash_create(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* FIXME: this should be per vg */
|
||||
static lv_t *_lookup_lv_by_name(const char *name)
|
||||
{
|
||||
lv_t *lv;
|
||||
|
||||
if (!name) {
|
||||
printf ("Invalid LV name\n");
|
||||
return NULL;
|
||||
}
|
||||
if (!(lv = dm_hash_lookup(_lvname_hash, name))) {
|
||||
printf ("Can't find %s in LVs - run vg_create_lv first\n",
|
||||
name);
|
||||
return NULL;
|
||||
}
|
||||
return lv;
|
||||
}
|
||||
|
||||
static vg_t *_lookup_vg_by_name(char **argv, int argc)
|
||||
{
|
||||
vg_t *vg;
|
||||
@ -206,6 +225,7 @@ static void _vg_close(char **argv, int argc)
|
||||
dm_hash_remove(_vgname_hash, lvm_vg_get_name(vg));
|
||||
lvm_vg_close(vg);
|
||||
}
|
||||
/* FIXME: remove LVs from lvname_hash */
|
||||
}
|
||||
|
||||
static void _show_one_vg(vg_t *vg)
|
||||
@ -297,6 +317,26 @@ static void _lvs_in_vg(char **argv, int argc)
|
||||
}
|
||||
}
|
||||
|
||||
static void _vg_remove_lv(char **argv, int argc)
|
||||
{
|
||||
lv_t *lv;
|
||||
|
||||
if (argc < 3) {
|
||||
printf("Please enter vgname, lvname\n");
|
||||
return;
|
||||
}
|
||||
if (!(lv = _lookup_lv_by_name(argv[2])))
|
||||
return;
|
||||
if (!lvm_vg_remove_lv(lv))
|
||||
printf("Error ");
|
||||
else {
|
||||
printf("Success ");
|
||||
dm_hash_remove(_lvname_hash, argv[2]);
|
||||
}
|
||||
printf("removing LV %s in VG %s\n",
|
||||
argv[2], argv[1]);
|
||||
}
|
||||
|
||||
static void _vg_create_lv_linear(char **argv, int argc)
|
||||
{
|
||||
vg_t *vg;
|
||||
@ -311,10 +351,12 @@ static void _vg_create_lv_linear(char **argv, int argc)
|
||||
lv = lvm_vg_create_lv_linear(vg, argv[2], atol(argv[3]));
|
||||
if (!lv)
|
||||
printf("Error ");
|
||||
else
|
||||
else {
|
||||
printf("Success ");
|
||||
dm_hash_insert(_lvname_hash, argv[2], lv);
|
||||
}
|
||||
printf("creating LV %s in VG %s\n",
|
||||
argv[2], lvm_vg_get_name(vg));
|
||||
argv[2], argv[1]);
|
||||
}
|
||||
|
||||
static int lvmapi_test_shell(lvm_t libh)
|
||||
@ -362,6 +404,8 @@ static int lvmapi_test_shell(lvm_t libh)
|
||||
_vg_open(argv, argc, libh);
|
||||
} else if (!strcmp(argv[0], "vg_close")) {
|
||||
_vg_close(argv, argc);
|
||||
} else if (!strcmp(argv[0], "vg_remove_lv")) {
|
||||
_vg_remove_lv(argv, argc);
|
||||
} else if (!strcmp(argv[0], "vgs_open")) {
|
||||
_list_open_vgs();
|
||||
} else if (!strcmp(argv[0], "vg_list_pvs")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user