1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-10 16:58:47 +03:00

Ensure in-memory state matches on-disk state of mda ignore bit.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
This commit is contained in:
Dave Wysochanski 2010-06-28 20:31:18 +00:00
parent 09e0f43ba0
commit a6b36a5901
2 changed files with 5 additions and 0 deletions

View File

@ -726,6 +726,7 @@ static int _vg_commit_raw_rlocn(struct format_instance *fid,
"header at %" PRIu64, vg->name,
dev_name(mdac->area.dev), mdac->area.start);
rlocn_set_ignored(mdah->raw_locns, mda_is_ignored(mda));
if (!_raw_write_mda_header(fid->fmt, mdac->area.dev, mdac->area.start,
mdah)) {
dm_pool_free(fid->fmt->cmd->mem, mdah);
@ -808,6 +809,7 @@ static int _vg_remove_raw(struct format_instance *fid, struct volume_group *vg,
rlocn->offset = 0;
rlocn->size = 0;
rlocn->checksum = 0;
rlocn_set_ignored(mdah->raw_locns, mda_is_ignored(mda));
if (!_raw_write_mda_header(fid->fmt, mdac->area.dev, mdac->area.start,
mdah)) {
@ -1513,6 +1515,7 @@ static int _text_pv_write(const struct format_type *fmt, struct physical_volume
mdac = mda->metadata_locn;
memset(&buf, 0, sizeof(buf));
mdah->size = mdac->area.size;
rlocn_set_ignored(mdah->raw_locns, mda_is_ignored(mda));
if (!_raw_write_mda_header(fmt, mdac->area.dev,
mdac->area.start, mdah)) {
if (!dev_close(pv->dev))

View File

@ -301,6 +301,7 @@ static int _text_read(struct labeller *l, struct device *dev, void *buf,
dm_list_iterate_items(mda, &info->mdas) {
mdac = (struct mda_context *) mda->metadata_locn;
if (!dev_open(mdac->area.dev)) {
mda_set_ignored(mda, 1);
stack;
continue;
}
@ -308,6 +309,7 @@ static int _text_read(struct labeller *l, struct device *dev, void *buf,
stack;
goto close_dev;
}
mda_set_ignored(mda, rlocn_is_ignored(mdah->raw_locns));
if ((vgname = vgname_from_mda(info->fmt, mdah,
&mdac->area,