[lvm-devel] LVM2/lib/cache lvmetad.c
mornfall at sourceware.org
mornfall at sourceware.org
Sun Feb 26 13:42:50 UTC 2012
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: mornfall at sourceware.org 2012-02-26 13:42:50
Modified files:
lib/cache : lvmetad.c
Log message:
Fix a possible SEGV in lvmetad client code, and a minor leak in pvscan
--lvmetad.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/cache/lvmetad.c.diff?cvsroot=lvm2&r1=1.5&r2=1.6
--- LVM2/lib/cache/lvmetad.c 2012/02/26 08:49:40 1.5
+++ LVM2/lib/cache/lvmetad.c 2012/02/26 13:42:50 1.6
@@ -566,9 +566,10 @@
{
struct _pvscan_lvmetad_baton *b = baton;
struct volume_group *this = mda->ops->vg_read(b->fid, "", mda);
- if ((this && !b->vg) || this->seqno > b->vg->seqno)
+ if (!b->vg || this->seqno > b->vg->seqno)
b->vg = this;
- else release_vg(this);
+ else if (b->vg)
+ release_vg(this);
return 1;
}
@@ -647,6 +648,8 @@
&fic);
lvmcache_foreach_mda(info, _pvscan_lvmetad_single, &baton);
+ if (!baton.vg)
+ lvmcache_fmt(info)->ops->destroy_instance(baton.fid);
/*
* NB. If this command failed and we are relying on lvmetad to have an
More information about the lvm-devel
mailing list