1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-11 20:58:50 +03:00

New-style persistent minor support.

This commit is contained in:
Alasdair Kergon 2002-03-26 13:41:37 +00:00
parent e04c519896
commit 4bb3eccf2b
2 changed files with 23 additions and 10 deletions

View File

@ -372,6 +372,20 @@ static int _load(struct dev_manager *dm, struct dev_layer *dl, int task)
goto out;
}
/*
* Do we want a specific minor number ?
*/
if (dl->lv->minor >= 0 && _get_flag(dl, VISIBLE)) {
if (!dm_task_set_minor(dmt, dl->lv->minor)) {
log_error("Failed to set minor number for %s to %d "
"during activation.", dl->name,
dl->lv->minor);
goto out;
} else
log_very_verbose("Set minor number for %s to %d.",
dl->name, dl->lv->minor);
}
if (!_get_flag(dl, READWRITE)) {
if (!dm_task_set_ro(dmt)) {
log_error("Failed to set %s read-only during "
@ -773,8 +787,7 @@ static struct dev_layer *_create_dev(struct dev_manager *dm, char *name,
static inline int _read_only_lv(struct logical_volume *lv)
{
return (!(lv->vg->status & LVM_WRITE) ||
!(lv->status & LVM_WRITE));
return (!(lv->vg->status & LVM_WRITE) || !(lv->status & LVM_WRITE));
}
static struct dev_layer *_create_layer(struct dev_manager *dm,
@ -1289,8 +1302,7 @@ static int _belong_to_vg(const char *vgname, const char *name)
const char *v = vgname, *n = name;
while (*v) {
if ((*v != *n) ||
(*v == '-' && *(++n) != '-'))
if ((*v != *n) || (*v == '-' && *(++n) != '-'))
return 0;
v++, n++;
}

View File

@ -330,7 +330,8 @@ static int lvchange_persistent(struct cmd_context *cmd,
log_error("Minor number must be specified with -My");
return 0;
}
log_verbose("Ensuring %s is inactive", lv->name);
log_verbose("Ensuring %s is inactive. Reactivate with -ay.",
lv->name);
if (!lock_vol(cmd, lv->lvid.s, LCK_LV_DEACTIVATE)) {
log_error("%s: deactivation failed", lv->name);
return 0;