diff --git a/WHATS_NEW b/WHATS_NEW index 3d58d83cc..556d6c0e2 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.67 - =============================== + Don't merge unchanged persistent cache file before dumping if tool scanned. Fix incorrect memory pool deallocation while using vg_read for files. Add --type parameter description to the lvcreate man page. Replace strncmp kernel version number checks with proper ones. diff --git a/lib/filters/filter-persistent.c b/lib/filters/filter-persistent.c index 4cb0d7db3..6574d6983 100644 --- a/lib/filters/filter-persistent.c +++ b/lib/filters/filter-persistent.c @@ -295,6 +295,7 @@ struct dev_filter *persistent_filter_create(struct dev_filter *real, { struct pfilter *pf; struct dev_filter *f = NULL; + struct stat info; if (!(pf = dm_malloc(sizeof(*pf)))) return_NULL; @@ -314,6 +315,10 @@ struct dev_filter *persistent_filter_create(struct dev_filter *real, if (!(f = dm_malloc(sizeof(*f)))) goto_bad; + /* Only merge cache file before dumping it if it changed externally. */ + if (!stat(pf->file, &info)) + pf->ctime = info.st_ctime; + f->passes_filter = _lookup_p; f->destroy = _persistent_destroy; f->private = pf;