mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-02 01:18:26 +03:00
vg_validate: check size of lv_name + vg_name
Since the whole dm device name may not exceed 127 characters, validate no LV names is bigger then this limit.
This commit is contained in:
parent
6570d36ad5
commit
84beba5d7f
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.106 -
|
Version 2.02.106 -
|
||||||
====================================
|
====================================
|
||||||
|
Extend internal validation of lv names size is less then 128 chars.
|
||||||
Fail in resume for lvrename will result in failing command.
|
Fail in resume for lvrename will result in failing command.
|
||||||
Validate length of new LV name in lvrename to not exceed 127 characters.
|
Validate length of new LV name in lvrename to not exceed 127 characters.
|
||||||
Add explict error message when using lvdisplay -c -m.
|
Add explict error message when using lvdisplay -c -m.
|
||||||
|
@ -2336,6 +2336,8 @@ int vg_validate(struct volume_group *vg)
|
|||||||
unsigned pv_count = 0;
|
unsigned pv_count = 0;
|
||||||
unsigned num_snapshots = 0;
|
unsigned num_snapshots = 0;
|
||||||
unsigned spare_count = 0;
|
unsigned spare_count = 0;
|
||||||
|
size_t vg_name_len = strlen(vg->name);
|
||||||
|
size_t dev_name_len;
|
||||||
struct validate_hash vhash = { NULL };
|
struct validate_hash vhash = { NULL };
|
||||||
|
|
||||||
if (vg->alloc == ALLOC_CLING_BY_TAGS) {
|
if (vg->alloc == ALLOC_CLING_BY_TAGS) {
|
||||||
@ -2417,6 +2419,15 @@ int vg_validate(struct volume_group *vg)
|
|||||||
dm_list_iterate_items(lvl, &vg->lvs) {
|
dm_list_iterate_items(lvl, &vg->lvs) {
|
||||||
lv_count++;
|
lv_count++;
|
||||||
|
|
||||||
|
dev_name_len = strlen(lvl->lv->name) + vg_name_len + 3;
|
||||||
|
if (dev_name_len >= NAME_LEN) {
|
||||||
|
log_error(INTERNAL_ERROR "LV name \"%s/%s\" length %"
|
||||||
|
PRIsize_t " is not supported.",
|
||||||
|
vg->name, lvl->lv->name, dev_name_len);
|
||||||
|
r = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (lv_is_cow(lvl->lv))
|
if (lv_is_cow(lvl->lv))
|
||||||
num_snapshots++;
|
num_snapshots++;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user