public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2 ./Makefile.in ./configure ./configure.in ...
@ 2004-04-14 17:39 agk
0 siblings, 0 replies; 4+ messages in thread
From: agk @ 2004-04-14 17:39 UTC (permalink / raw)
To: lvm2-cvs
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2004-04-14 17:39:56
Modified files:
. : Makefile.in configure configure.in make.tmpl.in
Added files:
doc : Makefile.in
Log message:
Install example config file by default if there isn't one already.
Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/Makefile.in.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/configure.diff?cvsroot=lvm2&r1=1.24&r2=1.25
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/configure.in.diff?cvsroot=lvm2&r1=1.23&r2=1.24
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/make.tmpl.in.diff?cvsroot=lvm2&r1=1.34&r2=1.35
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/doc/Makefile.in.diff?cvsroot=lvm2&r1=NONE&r2=1.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* LVM2 ./Makefile.in ./configure ./configure.in ...
@ 2008-11-03 22:14 agk
0 siblings, 0 replies; 4+ messages in thread
From: agk @ 2008-11-03 22:14 UTC (permalink / raw)
To: lvm-devel, lvm2-cvs
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2008-11-03 22:14:30
Modified files:
. : Makefile.in configure configure.in make.tmpl.in
daemons/clvmd : clvmd.c
daemons/dmeventd: dmeventd.c
daemons/dmeventd/plugins/mirror: Makefile.in
daemons/dmeventd/plugins/snapshot: Makefile.in
lib/activate : activate.c activate.h dev_manager.c fs.c
lib/cache : lvmcache.c lvmcache.h
lib/commands : toolcontext.c toolcontext.h
lib/config : config.c config.h
lib/datastruct : list.c list.h lvm-types.h str_list.c str_list.h
lib/device : dev-cache.c dev-io.c device.h
lib/display : display.c
lib/error : errseg.c
lib/filters : filter-persistent.c filter-regex.c
lib/format1 : Makefile.in disk-rep.c disk-rep.h format1.c
import-export.c import-extents.c lvm1-label.c
vg_number.c
lib/format_pool: Makefile.in disk_rep.c disk_rep.h format_pool.c
import_export.c
lib/format_text: archive.c archiver.c export.c format-text.c
format-text.h import-export.h import_vsn1.c
layout.h tags.c text_label.c
lib/label : label.c
lib/locking : Makefile.in file_locking.c locking.c locking.h
lib/metadata : lv_alloc.h lv_manip.c merge.c
metadata-exported.h metadata.c metadata.h
mirror.c pv_alloc.h pv_manip.c pv_map.c
pv_map.h segtype.c segtype.h snapshot_manip.c
lib/mirror : Makefile.in mirrored.c
lib/report : report.c
lib/snapshot : Makefile.in snapshot.c
lib/zero : zero.c
libdm : Makefile.in libdm-common.c libdm-deptree.c
libdm-report.c
libdm/datastruct: list.c list.h
tools : Makefile.in lvconvert.c lvcreate.c lvmcmdline.c
lvresize.c lvscan.c polldaemon.c polldaemon.h
pvchange.c pvcreate.c pvmove.c pvremove.c
pvresize.c pvscan.c reporter.c toollib.c
toollib.h vgchange.c vgconvert.c vgexport.c
vgimport.c vgmerge.c vgreduce.c vgrename.c
vgsplit.c
Log message:
Right, a simple build (without options) is working again.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/Makefile.in.diff?cvsroot=lvm2&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/configure.diff?cvsroot=lvm2&r1=1.83&r2=1.84
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/configure.in.diff?cvsroot=lvm2&r1=1.87&r2=1.88
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/make.tmpl.in.diff?cvsroot=lvm2&r1=1.59&r2=1.60
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/clvmd.c.diff?cvsroot=lvm2&r1=1.48&r2=1.49
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/dmeventd/dmeventd.c.diff?cvsroot=lvm2&r1=1.51&r2=1.52
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/dmeventd/plugins/mirror/Makefile.in.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/dmeventd/plugins/snapshot/Makefile.in.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/activate.c.diff?cvsroot=lvm2&r1=1.139&r2=1.140
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/activate.h.diff?cvsroot=lvm2&r1=1.61&r2=1.62
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.141&r2=1.142
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/fs.c.diff?cvsroot=lvm2&r1=1.42&r2=1.43
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/cache/lvmcache.c.diff?cvsroot=lvm2&r1=1.60&r2=1.61
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/cache/lvmcache.h.diff?cvsroot=lvm2&r1=1.23&r2=1.24
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.c.diff?cvsroot=lvm2&r1=1.63&r2=1.64
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.h.diff?cvsroot=lvm2&r1=1.26&r2=1.27
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/config/config.c.diff?cvsroot=lvm2&r1=1.71&r2=1.72
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/config/config.h.diff?cvsroot=lvm2&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/datastruct/list.c.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/datastruct/list.h.diff?cvsroot=lvm2&r1=1.27&r2=1.28
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/datastruct/lvm-types.h.diff?cvsroot=lvm2&r1=1.14&r2=1.15
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/datastruct/str_list.c.diff?cvsroot=lvm2&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/datastruct/str_list.h.diff?cvsroot=lvm2&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/device/dev-cache.c.diff?cvsroot=lvm2&r1=1.53&r2=1.54
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/device/dev-io.c.diff?cvsroot=lvm2&r1=1.62&r2=1.63
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/device/device.h.diff?cvsroot=lvm2&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/display/display.c.diff?cvsroot=lvm2&r1=1.93&r2=1.94
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/error/errseg.c.diff?cvsroot=lvm2&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/filters/filter-persistent.c.diff?cvsroot=lvm2&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/filters/filter-regex.c.diff?cvsroot=lvm2&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/Makefile.in.diff?cvsroot=lvm2&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/disk-rep.c.diff?cvsroot=lvm2&r1=1.77&r2=1.78
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/disk-rep.h.diff?cvsroot=lvm2&r1=1.52&r2=1.53
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/format1.c.diff?cvsroot=lvm2&r1=1.108&r2=1.109
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/import-export.c.diff?cvsroot=lvm2&r1=1.99&r2=1.100
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/import-extents.c.diff?cvsroot=lvm2&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/lvm1-label.c.diff?cvsroot=lvm2&r1=1.19&r2=1.20
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format1/vg_number.c.diff?cvsroot=lvm2&r1=1.15&r2=1.16
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_pool/Makefile.in.diff?cvsroot=lvm2&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_pool/disk_rep.c.diff?cvsroot=lvm2&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_pool/disk_rep.h.diff?cvsroot=lvm2&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_pool/format_pool.c.diff?cvsroot=lvm2&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_pool/import_export.c.diff?cvsroot=lvm2&r1=1.24&r2=1.25
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/archive.c.diff?cvsroot=lvm2&r1=1.31&r2=1.32
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/archiver.c.diff?cvsroot=lvm2&r1=1.14&r2=1.15
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/export.c.diff?cvsroot=lvm2&r1=1.64&r2=1.65
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/format-text.c.diff?cvsroot=lvm2&r1=1.97&r2=1.98
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/format-text.h.diff?cvsroot=lvm2&r1=1.24&r2=1.25
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/import-export.h.diff?cvsroot=lvm2&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/import_vsn1.c.diff?cvsroot=lvm2&r1=1.54&r2=1.55
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/layout.h.diff?cvsroot=lvm2&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/tags.c.diff?cvsroot=lvm2&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/text_label.c.diff?cvsroot=lvm2&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/label/label.c.diff?cvsroot=lvm2&r1=1.44&r2=1.45
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/locking/Makefile.in.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/locking/file_locking.c.diff?cvsroot=lvm2&r1=1.39&r2=1.40
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/locking/locking.c.diff?cvsroot=lvm2&r1=1.51&r2=1.52
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/locking/locking.h.diff?cvsroot=lvm2&r1=1.42&r2=1.43
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/lv_alloc.h.diff?cvsroot=lvm2&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/lv_manip.c.diff?cvsroot=lvm2&r1=1.158&r2=1.159
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/merge.c.diff?cvsroot=lvm2&r1=1.35&r2=1.36
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata-exported.h.diff?cvsroot=lvm2&r1=1.54&r2=1.55
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.c.diff?cvsroot=lvm2&r1=1.194&r2=1.195
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.h.diff?cvsroot=lvm2&r1=1.183&r2=1.184
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/mirror.c.diff?cvsroot=lvm2&r1=1.78&r2=1.79
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/pv_alloc.h.diff?cvsroot=lvm2&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/pv_manip.c.diff?cvsroot=lvm2&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/pv_map.c.diff?cvsroot=lvm2&r1=1.31&r2=1.32
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/pv_map.h.diff?cvsroot=lvm2&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/segtype.c.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/segtype.h.diff?cvsroot=lvm2&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/snapshot_manip.c.diff?cvsroot=lvm2&r1=1.31&r2=1.32
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/mirror/Makefile.in.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/mirror/mirrored.c.diff?cvsroot=lvm2&r1=1.58&r2=1.59
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/report/report.c.diff?cvsroot=lvm2&r1=1.88&r2=1.89
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/snapshot/Makefile.in.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/snapshot/snapshot.c.diff?cvsroot=lvm2&r1=1.32&r2=1.33
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/zero/zero.c.diff?cvsroot=lvm2&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/Makefile.in.diff?cvsroot=lvm2&r1=1.40&r2=1.41
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-common.c.diff?cvsroot=lvm2&r1=1.61&r2=1.62
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-deptree.c.diff?cvsroot=lvm2&r1=1.45&r2=1.46
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-report.c.diff?cvsroot=lvm2&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/datastruct/list.c.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/datastruct/list.h.diff?cvsroot=lvm2&r1=1.27&r2=1.28
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/Makefile.in.diff?cvsroot=lvm2&r1=1.86&r2=1.87
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.66&r2=1.67
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvcreate.c.diff?cvsroot=lvm2&r1=1.177&r2=1.178
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvmcmdline.c.diff?cvsroot=lvm2&r1=1.71&r2=1.72
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvresize.c.diff?cvsroot=lvm2&r1=1.98&r2=1.99
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvscan.c.diff?cvsroot=lvm2&r1=1.35&r2=1.36
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/polldaemon.c.diff?cvsroot=lvm2&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/polldaemon.h.diff?cvsroot=lvm2&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvchange.c.diff?cvsroot=lvm2&r1=1.62&r2=1.63
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvcreate.c.diff?cvsroot=lvm2&r1=1.75&r2=1.76
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvmove.c.diff?cvsroot=lvm2&r1=1.53&r2=1.54
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvremove.c.diff?cvsroot=lvm2&r1=1.24&r2=1.25
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvresize.c.diff?cvsroot=lvm2&r1=1.22&r2=1.23
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvscan.c.diff?cvsroot=lvm2&r1=1.46&r2=1.47
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/reporter.c.diff?cvsroot=lvm2&r1=1.40&r2=1.41
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/toollib.c.diff?cvsroot=lvm2&r1=1.136&r2=1.137
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/toollib.h.diff?cvsroot=lvm2&r1=1.57&r2=1.58
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgchange.c.diff?cvsroot=lvm2&r1=1.65&r2=1.66
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgconvert.c.diff?cvsroot=lvm2&r1=1.30&r2=1.31
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgexport.c.diff?cvsroot=lvm2&r1=1.18&r2=1.19
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgimport.c.diff?cvsroot=lvm2&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgmerge.c.diff?cvsroot=lvm2&r1=1.49&r2=1.50
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgreduce.c.diff?cvsroot=lvm2&r1=1.84&r2=1.85
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgrename.c.diff?cvsroot=lvm2&r1=1.54&r2=1.55
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgsplit.c.diff?cvsroot=lvm2&r1=1.67&r2=1.68
--- LVM2/Makefile.in 2008/11/01 02:19:17 1.25
+++ LVM2/Makefile.in 2008/11/03 22:14:26 1.26
@@ -46,7 +46,9 @@
tools: lib
po: tools daemons
+libdm.device-mapper: include.device-mapper
tools.device-mapper: libdm.device-mapper
+device-mapper: tools.device-mapper
ifeq ("@INTL@", "yes")
lib.pofile: include.pofile
--- LVM2/configure 2008/11/01 20:48:50 1.83
+++ LVM2/configure 2008/11/03 22:14:26 1.84
@@ -11798,14 +11798,14 @@
echo "${ECHO_T}$interface" >&6; }
################################################################################
-DM_LIB_VERSION="\"`cat VERSION_LIB 2>/dev/null || echo Unknown`\""
+DM_LIB_VERSION="\"`cat VERSION_DM 2>/dev/null || echo Unknown`\""
cat >>confdefs.h <<_ACEOF
#define DM_LIB_VERSION $DM_LIB_VERSION
_ACEOF
-DM_LIB_PATCHLEVEL=`cat VERSION_LIB | awk -F '[-. ]' '{printf "%s.%s.%s",$1,$2,$3}'`
+DM_LIB_PATCHLEVEL=`cat VERSION_DM | awk -F '[-. ]' '{printf "%s.%s.%s",$1,$2,$3}'`
LVM_VERSION="\"`cat VERSION 2>/dev/null || echo Unknown`\""
--- LVM2/configure.in 2008/11/01 20:48:09 1.87
+++ LVM2/configure.in 2008/11/03 22:14:26 1.88
@@ -718,10 +718,10 @@
AC_MSG_RESULT($interface)
################################################################################
-DM_LIB_VERSION="\"`cat VERSION_LIB 2>/dev/null || echo Unknown`\""
+DM_LIB_VERSION="\"`cat VERSION_DM 2>/dev/null || echo Unknown`\""
AC_DEFINE_UNQUOTED(DM_LIB_VERSION, $DM_LIB_VERSION, [Library version])
-DM_LIB_PATCHLEVEL=`cat VERSION_LIB | awk -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}'`
+DM_LIB_PATCHLEVEL=`cat VERSION_DM | awk -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}'`
LVM_VERSION="\"`cat VERSION 2>/dev/null || echo Unknown`\""
--- LVM2/make.tmpl.in 2008/11/01 02:19:17 1.59
+++ LVM2/make.tmpl.in 2008/11/03 22:14:26 1.60
@@ -51,6 +51,9 @@
localedir = $(DESTDIR)@LOCALEDIR@
staticdir = $(DESTDIR)@STATICDIR@
+interface = @interface@
+interfacedir = $(top_srcdir)/libdm/$(interface)
+
# setup misc variables
# define the ownership variables for the binaries and man pages
OWNER = @OWNER@
@@ -80,7 +83,8 @@
DEFS += -DINTL_PACKAGE=\"@INTL_PACKAGE@\" -DLOCALEDIR=\"@LOCALEDIR@\"
endif
-LDFLAGS += -L$(top_srcdir)/lib -L$(libdir)
+LDFLAGS += -L$(top_srcdir)/libdm -L$(top_srcdir)/lib
+CLDFLAGS += -L$(top_srcdir)/libdm -L$(top_srcdir)/lib
#DEFS += -DDEBUG_POOL
#DEFS += -DBOUNDS_CHECK
@@ -93,8 +97,11 @@
LVM_VERSION := $(shell cat $(top_srcdir)/VERSION)
-LIB_VERSION := $(shell cat $(top_srcdir)/VERSION | \
- awk -F '.' '{printf "%s.%s",$$1,$$2}')
+LIB_VERSION_LVM := $(shell cat $(top_srcdir)/VERSION | \
+ awk -F '.' '{printf "%s.%s",$$1,$$2}')
+
+LIB_VERSION_DM := $(shell cat $(top_srcdir)/VERSION_DM | \
+ awk -F '.' '{printf "%s.%s",$$1,$$2}')
INCLUDES += -I$(top_srcdir)/include
@@ -123,12 +130,10 @@
SUBDIRS.clean := $(SUBDIRS:=.clean)
SUBDIRS.distclean := $(SUBDIRS:=.distclean)
-TARGETS += $(LIB_SHARED) $(LIB_STATIC)
+TARGETS += $(LIB_SHARED) $(LIB_STATIC) $(VERSIONED_SHLIB)
all: $(SUBDIRS) $(TARGETS)
-device-mapper: $(SUBDIRS.device-mapper)
-
install: all $(SUBDIRS.install)
install_cluster: all $(SUBDIRS.install_cluster)
install_device-mapper: $(SUBDIRS.install_device-mapper)
--- LVM2/daemons/clvmd/clvmd.c 2008/06/13 07:44:14 1.48
+++ LVM2/daemons/clvmd/clvmd.c 2008/11/03 22:14:26 1.49
@@ -75,7 +75,7 @@
/* Structure of items on the LVM thread list */
struct lvm_thread_cmd {
- struct list list;
+ struct dm_list list;
struct local_client *client;
struct clvm_header *msg;
@@ -90,7 +90,7 @@
static pthread_mutex_t lvm_thread_mutex;
static pthread_cond_t lvm_thread_cond;
static pthread_mutex_t lvm_start_mutex;
-static struct list lvm_cmd_head;
+static struct dm_list lvm_cmd_head;
static volatile sig_atomic_t quit = 0;
static volatile sig_atomic_t reread_config = 0;
static int child_pipe[2];
@@ -352,7 +352,7 @@
sigprocmask(SIG_BLOCK, &ss, NULL);
/* Initialise the LVM thread variables */
- list_init(&lvm_cmd_head);
+ dm_list_init(&lvm_cmd_head);
pthread_mutex_init(&lvm_thread_mutex, NULL);
pthread_cond_init(&lvm_thread_cond, NULL);
pthread_mutex_init(&lvm_start_mutex, NULL);
@@ -1749,7 +1749,7 @@
*/
static __attribute__ ((noreturn)) void *lvm_thread_fn(void *arg)
{
- struct list *cmdl, *tmp;
+ struct dm_list *cmdl, *tmp;
sigset_t ss;
int using_gulm = (int)(long)arg;
@@ -1775,15 +1775,15 @@
DEBUGLOG("LVM thread waiting for work\n");
pthread_mutex_lock(&lvm_thread_mutex);
- if (list_empty(&lvm_cmd_head))
+ if (dm_list_empty(&lvm_cmd_head))
pthread_cond_wait(&lvm_thread_cond, &lvm_thread_mutex);
- list_iterate_safe(cmdl, tmp, &lvm_cmd_head) {
+ dm_list_iterate_safe(cmdl, tmp, &lvm_cmd_head) {
struct lvm_thread_cmd *cmd;
cmd =
- list_struct_base(cmdl, struct lvm_thread_cmd, list);
- list_del(&cmd->list);
+ dm_list_struct_base(cmdl, struct lvm_thread_cmd, list);
+ dm_list_del(&cmd->list);
pthread_mutex_unlock(&lvm_thread_mutex);
process_work_item(cmd);
@@ -1833,7 +1833,7 @@
("add_to_lvmqueue: cmd=%p. client=%p, msg=%p, len=%d, csid=%p, xid=%d\n",
cmd, client, msg, msglen, csid, cmd->xid);
pthread_mutex_lock(&lvm_thread_mutex);
- list_add(&lvm_cmd_head, &cmd->list);
+ dm_list_add(&lvm_cmd_head, &cmd->list);
pthread_cond_signal(&lvm_thread_cond);
pthread_mutex_unlock(&lvm_thread_mutex);
--- LVM2/daemons/dmeventd/dmeventd.c 2008/07/09 13:26:07 1.51
+++ LVM2/daemons/dmeventd/dmeventd.c 2008/11/03 22:14:26 1.52
@@ -58,11 +58,11 @@
static int _debug = 0;
/* List (un)link macros. */
-#define LINK(x, head) list_add(head, &(x)->list)
+#define LINK(x, head) dm_list_add(head, &(x)->list)
#define LINK_DSO(dso) LINK(dso, &_dso_registry)
#define LINK_THREAD(thread) LINK(thread, &_thread_registry)
-#define UNLINK(x) list_del(&(x)->list)
+#define UNLINK(x) dm_list_del(&(x)->list)
#define UNLINK_DSO(x) UNLINK(x)
#define UNLINK_THREAD(x) UNLINK(x)
@@ -101,7 +101,7 @@
/* Data kept about a DSO. */
struct dso_data {
- struct list list;
+ struct dm_list list;
char *dso_name; /* DSO name (eg, "evms", "dmraid", "lvm2"). */
@@ -143,7 +143,7 @@
int (*unregister_device)(const char *device, const char *uuid,
int major, int minor, void **user);
};
-static LIST_INIT(_dso_registry);
+static DM_LIST_INIT(_dso_registry);
/* Structure to keep parsed register variables from client message. */
struct message_data {
@@ -168,7 +168,7 @@
* occurs and the event processing function of the DSO gets called.
*/
struct thread_status {
- struct list list;
+ struct dm_list list;
pthread_t thread;
@@ -189,14 +189,14 @@
struct dm_task *current_task;
time_t next_time;
uint32_t timeout;
- struct list timeout_list;
+ struct dm_list timeout_list;
void *dso_private; /* dso per-thread status variable */
};
-static LIST_INIT(_thread_registry);
-static LIST_INIT(_thread_registry_unused);
+static DM_LIST_INIT(_thread_registry);
+static DM_LIST_INIT(_thread_registry_unused);
static int _timeout_running;
-static LIST_INIT(_timeout_registry);
+static DM_LIST_INIT(_timeout_registry);
static pthread_mutex_t _timeout_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t _timeout_cond = PTHREAD_COND_INITIALIZER;
@@ -239,7 +239,7 @@
ret->dso_data = dso_data;
ret->events = data->events.field;
ret->timeout = data->timeout.secs;
- list_init(&ret->timeout_list);
+ dm_list_init(&ret->timeout_list);
return ret;
}
@@ -459,7 +459,7 @@
{
struct thread_status *thread;
- list_iterate_items(thread, &_thread_registry)
+ dm_list_iterate_items(thread, &_thread_registry)
if (!strcmp(data->device_uuid, thread->device.uuid))
return thread;
@@ -489,13 +489,13 @@
pthread_cleanup_push(_exit_timeout, NULL);
pthread_mutex_lock(&_timeout_mutex);
- while (!list_empty(&_timeout_registry)) {
+ while (!dm_list_empty(&_timeout_registry)) {
struct thread_status *thread;
timeout.tv_sec = 0;
curr_time = time(NULL);
- list_iterate_items_gen(thread, &_timeout_registry, timeout_list) {
+ dm_list_iterate_items_gen(thread, &_timeout_registry, timeout_list) {
if (thread->next_time <= curr_time) {
thread->next_time = curr_time + thread->timeout;
pthread_kill(thread->thread, SIGALRM);
@@ -522,8 +522,8 @@
thread->next_time = time(NULL) + thread->timeout;
- if (list_empty(&thread->timeout_list)) {
- list_add(&_timeout_registry, &thread->timeout_list);
+ if (dm_list_empty(&thread->timeout_list)) {
+ dm_list_add(&_timeout_registry, &thread->timeout_list);
if (_timeout_running)
pthread_cond_signal(&_timeout_cond);
}
@@ -543,9 +543,9 @@
static void _unregister_for_timeout(struct thread_status *thread)
{
pthread_mutex_lock(&_timeout_mutex);
- if (!list_empty(&thread->timeout_list)) {
- list_del(&thread->timeout_list);
- list_init(&thread->timeout_list);
+ if (!dm_list_empty(&thread->timeout_list)) {
+ dm_list_del(&thread->timeout_list);
+ dm_list_init(&thread->timeout_list);
}
pthread_mutex_unlock(&_timeout_mutex);
}
@@ -698,7 +698,7 @@
}
/* we may have been relinked to unused registry since we were
called, so check that */
- list_iterate_items(thread_iter, &_thread_registry_unused)
+ dm_list_iterate_items(thread_iter, &_thread_registry_unused)
if (thread_iter == thread) {
thread->status = DM_THREAD_DONE;
_unlock_mutex();
@@ -839,7 +839,7 @@
{
struct dso_data *dso_data, *ret = NULL;
- list_iterate_items(dso_data, &_dso_registry)
+ dm_list_iterate_items(dso_data, &_dso_registry)
if (!strcmp(data->dso_name, dso_data->dso_name)) {
_lib_get(dso_data);
ret = dso_data;
@@ -1110,7 +1110,7 @@
_lock_mutex();
/* Iterate list of threads checking if we want a particular one. */
- list_iterate_items(thread, &_thread_registry)
+ dm_list_iterate_items(thread, &_thread_registry)
if (_want_registered_device(message_data->dso_name,
message_data->device_uuid,
thread)) {
@@ -1133,10 +1133,10 @@
thread = hit;
while (1) {
- if (list_end(&_thread_registry, &thread->list))
+ if (dm_list_end(&_thread_registry, &thread->list))
goto out;
- thread = list_item(thread->list.n, struct thread_status);
+ thread = dm_list_item(thread->list.n, struct thread_status);
if (_want_registered_device(message_data->dso_name, NULL, thread)) {
hit = thread;
break;
@@ -1440,12 +1440,12 @@
static void _cleanup_unused_threads(void)
{
int ret;
- struct list *l;
+ struct dm_list *l;
struct thread_status *thread;
_lock_mutex();
- while ((l = list_first(&_thread_registry_unused))) {
- thread = list_item(l, struct thread_status);
+ while ((l = dm_list_first(&_thread_registry_unused))) {
+ thread = dm_list_item(l, struct thread_status);
if (thread->processing)
break; /* cleanup on the next round */
@@ -1470,7 +1470,7 @@
break;
}
- list_del(l);
+ dm_list_del(l);
syslog(LOG_ERR,
"thread can't be on unused list unless !thread->events");
thread->status = DM_THREAD_RUNNING;
@@ -1480,7 +1480,7 @@
}
if (thread->status == DM_THREAD_DONE) {
- list_del(l);
+ dm_list_del(l);
pthread_join(thread->thread, NULL);
_lib_put(thread->dso_data);
_free_thread_status(thread);
@@ -1741,8 +1741,8 @@
while (!_exit_now) {
_process_request(&fifos);
_cleanup_unused_threads();
- if (!list_empty(&_thread_registry)
- || !list_empty(&_thread_registry_unused))
+ if (!dm_list_empty(&_thread_registry)
+ || !dm_list_empty(&_thread_registry_unused))
_thread_registries_empty = 0;
else
_thread_registries_empty = 1;
--- LVM2/daemons/dmeventd/plugins/mirror/Makefile.in 2008/07/09 09:59:42 1.7
+++ LVM2/daemons/dmeventd/plugins/mirror/Makefile.in 2008/11/03 22:14:26 1.8
@@ -27,6 +27,8 @@
LIB_SHARED = libdevmapper-event-lvm2mirror.so
endif
+LIB_VERSION = $(LIB_VERSION_LVM)
+
include $(top_srcdir)/make.tmpl
install: libdevmapper-event-lvm2mirror.$(LIB_SUFFIX)
--- LVM2/daemons/dmeventd/plugins/snapshot/Makefile.in 2008/07/09 09:59:42 1.3
+++ LVM2/daemons/dmeventd/plugins/snapshot/Makefile.in 2008/11/03 22:14:27 1.4
@@ -27,6 +27,8 @@
LIB_SHARED = libdevmapper-event-lvm2snapshot.so
endif
+LIB_VERSION = $(LIB_VERSION_LVM)
+
include $(top_srcdir)/make.tmpl
install: libdevmapper-event-lvm2snapshot.$(LIB_SUFFIX)
--- LVM2/lib/activate/activate.c 2008/09/19 07:12:45 1.139
+++ LVM2/lib/activate/activate.c 2008/11/03 22:14:27 1.140
@@ -52,11 +52,11 @@
}
int list_segment_modules(struct dm_pool *mem, const struct lv_segment *seg,
- struct list *modules)
+ struct dm_list *modules)
{
unsigned int s;
struct lv_segment *seg2, *snap_seg;
- struct list *snh;
+ struct dm_list *snh;
if (seg->segtype->ops->modules_needed &&
!seg->segtype->ops->modules_needed(mem, seg, modules)) {
@@ -65,9 +65,9 @@
}
if (lv_is_origin(seg->lv))
- list_iterate(snh, &seg->lv->snapshot_segs)
+ dm_list_iterate(snh, &seg->lv->snapshot_segs)
if (!list_lv_modules(mem,
- list_struct_base(snh,
+ dm_list_struct_base(snh,
struct lv_segment,
origin_list)->cow,
modules))
@@ -100,11 +100,11 @@
}
int list_lv_modules(struct dm_pool *mem, const struct logical_volume *lv,
- struct list *modules)
+ struct dm_list *modules)
{
struct lv_segment *seg;
- list_iterate_items(seg, &lv->segments)
+ dm_list_iterate_items(seg, &lv->segments)
if (!list_segment_modules(mem, seg, modules))
return_0;
@@ -264,7 +264,7 @@
if (!(cn = find_config_tree_node(cmd, "activation/volume_list"))) {
/* If no host tags defined, activate */
- if (list_empty(&cmd->tags))
+ if (dm_list_empty(&cmd->tags))
return 1;
/* If any host tag matches any LV or VG tag, activate */
@@ -517,7 +517,7 @@
/* If mirrored LV is temporarily shrinked to 1 area (= linear),
* it should be considered in-sync. */
- if (list_size(&lv->segments) == 1 && first_seg(lv)->area_count == 1) {
+ if (dm_list_size(&lv->segments) == 1 && first_seg(lv)->area_count == 1) {
*percent = 100.0;
return 1;
}
@@ -639,7 +639,7 @@
if (!activation())
return 0;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (lvl->lv->status & VISIBLE_LV)
count += (_lv_active(vg->cmd, lvl->lv, by_uuid_only) == 1);
}
@@ -665,7 +665,7 @@
if (!activation())
return 0;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (lvl->lv->status & VISIBLE_LV)
count += (_lv_open_count(vg->cmd, lvl->lv) > 0);
}
@@ -715,7 +715,7 @@
#ifdef DMEVENTD
int i, pending = 0, monitored;
int r = 1;
- struct list *tmp, *snh, *snht;
+ struct dm_list *tmp, *snh, *snht;
struct lv_segment *seg;
int (*monitor_fn) (struct lv_segment *s, int e);
uint32_t s;
@@ -745,15 +745,15 @@
* TODO: This may change when snapshots of mirrors are allowed.
*/
if (lv_is_origin(lv)) {
- list_iterate_safe(snh, snht, &lv->snapshot_segs)
- if (!monitor_dev_for_events(cmd, list_struct_base(snh,
+ dm_list_iterate_safe(snh, snht, &lv->snapshot_segs)
+ if (!monitor_dev_for_events(cmd, dm_list_struct_base(snh,
struct lv_segment, origin_list)->cow, monitor))
r = 0;
return r;
}
- list_iterate(tmp, &lv->segments) {
- seg = list_item(tmp, struct lv_segment);
+ dm_list_iterate(tmp, &lv->segments) {
+ seg = dm_list_item(tmp, struct lv_segment);
/* Recurse for AREA_LV */
for (s = 0; s < seg->area_count; s++) {
--- LVM2/lib/activate/activate.h 2008/04/10 21:34:18 1.61
+++ LVM2/lib/activate/activate.h 2008/11/03 22:14:27 1.62
@@ -45,9 +45,9 @@
int target_version(const char *target_name, uint32_t *maj,
uint32_t *min, uint32_t *patchlevel);
int list_segment_modules(struct dm_pool *mem, const struct lv_segment *seg,
- struct list *modules);
+ struct dm_list *modules);
int list_lv_modules(struct dm_pool *mem, const struct logical_volume *lv,
- struct list *modules);
+ struct dm_list *modules);
void activation_release(void);
void activation_exit(void);
--- LVM2/lib/activate/dev_manager.c 2008/09/19 07:05:03 1.141
+++ LVM2/lib/activate/dev_manager.c 2008/11/03 22:14:27 1.142
@@ -330,7 +330,7 @@
uint64_t start, length;
char *type = NULL;
char *params = NULL;
- struct list *segh = &lv->segments;
+ struct dm_list *segh = &lv->segments;
struct lv_segment *seg = NULL;
struct segment_type *segtype;
@@ -358,12 +358,12 @@
next = dm_get_next_target(dmt, next, &start, &length, &type,
¶ms);
if (lv) {
- if (!(segh = list_next(&lv->segments, segh))) {
+ if (!(segh = dm_list_next(&lv->segments, segh))) {
log_error("Number of segments in active LV %s "
"does not match metadata", lv->name);
goto out;
}
- seg = list_item(segh, struct lv_segment);
+ seg = dm_list_item(segh, struct lv_segment);
}
if (!type || !params || strcmp(type, target_type))
@@ -381,7 +381,7 @@
} while (next);
- if (lv && (segh = list_next(&lv->segments, segh))) {
+ if (lv && (segh = dm_list_next(&lv->segments, segh))) {
log_error("Number of segments in active LV %s does not "
"match metadata", lv->name);
goto out;
@@ -576,7 +576,7 @@
old_origin = snap_seg->origin;
/* Was this the last active snapshot with this origin? */
- list_iterate_items(lvl, active_head) {
+ dm_list_iterate_items(lvl, active_head) {
active = lvl->lv;
if ((snap_seg = find_cow(active)) &&
snap_seg->origin == old_origin) {
@@ -657,7 +657,7 @@
static struct dm_tree *_create_partial_dtree(struct dev_manager *dm, struct logical_volume *lv)
{
struct dm_tree *dtree;
- struct list *snh, *snht;
+ struct dm_list *snh, *snht;
struct lv_segment *seg;
uint32_t s;
@@ -670,12 +670,12 @@
goto_bad;
/* Add any snapshots of this LV */
- list_iterate_safe(snh, snht, &lv->snapshot_segs)
- if (!_add_lv_to_dtree(dm, dtree, list_struct_base(snh, struct lv_segment, origin_list)->cow))
+ dm_list_iterate_safe(snh, snht, &lv->snapshot_segs)
+ if (!_add_lv_to_dtree(dm, dtree, dm_list_struct_base(snh, struct lv_segment, origin_list)->cow))
goto_bad;
/* Add any LVs used by segments in this LV */
- list_iterate_items(seg, &lv->segments)
+ dm_list_iterate_items(seg, &lv->segments)
for (s = 0; s < seg->area_count; s++)
if (seg_type(seg, s) == AREA_LV && seg_lv(seg, s)) {
if (!_add_lv_to_dtree(dm, dtree, seg_lv(seg, s)))
@@ -699,7 +699,7 @@
int segno = -1, i = 0;;
uint64_t size = seg->len * seg->lv->vg->extent_size;
- list_iterate_items(seg_i, &seg->lv->segments) {
+ dm_list_iterate_items(seg_i, &seg->lv->segments) {
if (seg == seg_i)
segno = i;
++i;
@@ -862,7 +862,7 @@
const char *layer)
{
uint32_t s;
- struct list *snh;
+ struct dm_list *snh;
struct lv_segment *seg_present;
/* Ensure required device-mapper targets are loaded */
@@ -915,8 +915,8 @@
if (lv_is_origin(seg->lv) && !layer)
/* Add any snapshots of this LV */
- list_iterate(snh, &seg->lv->snapshot_segs)
- if (!_add_new_lv_to_dtree(dm, dtree, list_struct_base(snh, struct lv_segment, origin_list)->cow, NULL))
+ dm_list_iterate(snh, &seg->lv->snapshot_segs)
+ if (!_add_new_lv_to_dtree(dm, dtree, dm_list_struct_base(snh, struct lv_segment, origin_list)->cow, NULL))
return_0;
return 1;
@@ -970,7 +970,7 @@
/* Create table */
dm->pvmove_mirror_count = 0u;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!_add_segment_to_dtree(dm, dtree, dnode, seg, layer))
return_0;
/* These aren't real segments in the LVM2 metadata */
--- LVM2/lib/activate/fs.c 2008/01/30 13:59:57 1.42
+++ LVM2/lib/activate/fs.c 2008/11/03 22:14:27 1.43
@@ -243,10 +243,10 @@
return 1;
}
-static LIST_INIT(_fs_ops);
+static DM_LIST_INIT(_fs_ops);
struct fs_op_parms {
- struct list list;
+ struct dm_list list;
fs_op_t type;
char *dev_dir;
char *vg_name;
@@ -286,21 +286,21 @@
_store_str(&pos, &fsp->dev, dev);
_store_str(&pos, &fsp->old_lv_name, old_lv_name);
- list_add(&_fs_ops, &fsp->list);
+ dm_list_add(&_fs_ops, &fsp->list);
return 1;
}
static void _pop_fs_ops(void)
{
- struct list *fsph, *fspht;
+ struct dm_list *fsph, *fspht;
struct fs_op_parms *fsp;
- list_iterate_safe(fsph, fspht, &_fs_ops) {
- fsp = list_item(fsph, struct fs_op_parms);
+ dm_list_iterate_safe(fsph, fspht, &_fs_ops) {
+ fsp = dm_list_item(fsph, struct fs_op_parms);
_do_fs_op(fsp->type, fsp->dev_dir, fsp->vg_name, fsp->lv_name,
fsp->dev, fsp->old_lv_name);
- list_del(&fsp->list);
+ dm_list_del(&fsp->list);
dm_free(fsp);
}
}
--- LVM2/lib/cache/lvmcache.c 2008/09/16 18:05:11 1.60
+++ LVM2/lib/cache/lvmcache.c 2008/11/03 22:14:27 1.61
@@ -30,7 +30,7 @@
static struct dm_hash_table *_vgid_hash = NULL;
static struct dm_hash_table *_vgname_hash = NULL;
static struct dm_hash_table *_lock_hash = NULL;
-static struct list _vginfos;
+static struct dm_list _vginfos;
static int _scanning_in_progress = 0;
static int _has_scanned = 0;
static int _vgs_locked = 0;
@@ -38,7 +38,7 @@
int lvmcache_init(void)
{
- list_init(&_vginfos);
+ dm_list_init(&_vginfos);
if (!(_vgname_hash = dm_hash_create(128)))
return 0;
@@ -117,7 +117,7 @@
struct lvmcache_info *info;
int cached_vgmetadata_valid = 1;
- list_iterate_items(info, &vginfo->infos)
+ dm_list_iterate_items(info, &vginfo->infos)
_update_cache_info_lock_state(info, locked,
&cached_vgmetadata_valid);
@@ -151,7 +151,7 @@
*/
if (!vginfo->precommitted)
- list_iterate_items(info, &vginfo->infos)
+ dm_list_iterate_items(info, &vginfo->infos)
info->status |= CACHE_INVALID;
_free_cached_vgmetadata(vginfo);
@@ -226,14 +226,14 @@
return;
info->vginfo = vginfo;
- list_add(&vginfo->infos, &info->list);
+ dm_list_add(&vginfo->infos, &info->list);
}
static void _vginfo_detach_info(struct lvmcache_info *info)
{
- if (!list_empty(&info->list)) {
- list_del(&info->list);
- list_init(&info->list);
+ if (!dm_list_empty(&info->list)) {
+ dm_list_del(&info->list);
+ dm_list_init(&info->list);
}
info->vginfo = NULL;
@@ -267,8 +267,8 @@
struct lvmcache_vginfo *vginfo;
struct lvmcache_info *info;
struct label *label;
- struct list *devh, *tmp;
- struct list devs;
+ struct dm_list *devh, *tmp;
+ struct dm_list devs;
struct device_list *devl;
char vgid_found[ID_LEN + 1] __attribute((aligned(8)));
@@ -277,22 +277,22 @@
/* This function is normally called before reading metadata so
* we check cached labels here. Unfortunately vginfo is volatile. */
- list_init(&devs);
- list_iterate_items(info, &vginfo->infos) {
+ dm_list_init(&devs);
+ dm_list_iterate_items(info, &vginfo->infos) {
if (!(devl = dm_malloc(sizeof(*devl)))) {
log_error("device_list element allocation failed");
return NULL;
}
devl->dev = info->dev;
- list_add(&devs, &devl->list);
+ dm_list_add(&devs, &devl->list);
}
memcpy(vgid_found, vginfo->vgid, sizeof(vgid_found));
- list_iterate_safe(devh, tmp, &devs) {
- devl = list_item(devh, struct device_list);
+ dm_list_iterate_safe(devh, tmp, &devs) {
+ devl = dm_list_item(devh, struct device_list);
label_read(devl->dev, &label, UINT64_C(0));
- list_del(&devl->list);
+ dm_list_del(&devl->list);
dm_free(devl);
}
@@ -362,7 +362,7 @@
struct lvmcache_info *info;
/* Invalid if any info is invalid */
- list_iterate_items(info, &vginfo->infos)
+ dm_list_iterate_items(info, &vginfo->infos)
if (!_info_is_valid(info))
return 0;
@@ -374,7 +374,7 @@
{
struct lvmcache_info *info;
- list_iterate_items(info, &vginfo->infos)
+ dm_list_iterate_items(info, &vginfo->infos)
if (_info_is_valid(info))
return 0;
@@ -458,7 +458,7 @@
_has_scanned = 1;
/* Perform any format-specific scanning e.g. text files */
- list_iterate_items(fmt, &cmd->formats) {
+ dm_list_iterate_items(fmt, &cmd->formats) {
if (fmt->ops->scan && !fmt->ops->scan(fmt))
goto out;
}
@@ -516,9 +516,9 @@
return vg;
}
-struct list *lvmcache_get_vgids(struct cmd_context *cmd, int full_scan)
+struct dm_list *lvmcache_get_vgids(struct cmd_context *cmd, int full_scan)
{
- struct list *vgids;
+ struct dm_list *vgids;
struct lvmcache_vginfo *vginfo;
lvmcache_label_scan(cmd, full_scan);
@@ -528,7 +528,7 @@
return NULL;
}
- list_iterate_items(vginfo, &_vginfos) {
+ dm_list_iterate_items(vginfo, &_vginfos) {
if (!str_list_add(cmd->mem, vgids,
dm_pool_strdup(cmd->mem, vginfo->vgid))) {
log_error("strlist allocation failed");
@@ -539,9 +539,9 @@
return vgids;
}
-struct list *lvmcache_get_vgnames(struct cmd_context *cmd, int full_scan)
+struct dm_list *lvmcache_get_vgnames(struct cmd_context *cmd, int full_scan)
{
- struct list *vgnames;
+ struct dm_list *vgnames;
struct lvmcache_vginfo *vginfo;
lvmcache_label_scan(cmd, full_scan);
@@ -551,7 +551,7 @@
return NULL;
}
- list_iterate_items(vginfo, &_vginfos) {
+ dm_list_iterate_items(vginfo, &_vginfos) {
if (!str_list_add(cmd->mem, vgnames,
dm_pool_strdup(cmd->mem, vginfo->vgname))) {
log_error("strlist allocation failed");
@@ -562,10 +562,10 @@
return vgnames;
}
-struct list *lvmcache_get_pvids(struct cmd_context *cmd, const char *vgname,
+struct dm_list *lvmcache_get_pvids(struct cmd_context *cmd, const char *vgname,
const char *vgid)
{
- struct list *pvids;
+ struct dm_list *pvids;
struct lvmcache_vginfo *vginfo;
struct lvmcache_info *info;
@@ -577,7 +577,7 @@
if (!(vginfo = vginfo_from_vgname(vgname, vgid)))
return pvids;
- list_iterate_items(info, &vginfo->infos) {
+ dm_list_iterate_items(info, &vginfo->infos) {
if (!str_list_add(cmd->mem, pvids,
dm_pool_strdup(cmd->mem, info->dev->pvid))) {
log_error("strlist allocation failed");
@@ -664,7 +664,7 @@
vginfo_from_vgid(vginfo->vgid) == vginfo)
dm_hash_remove(_vgid_hash, vginfo->vgid);
- list_del(&vginfo->list);
+ dm_list_del(&vginfo->list);
dm_free(vginfo);
@@ -681,7 +681,7 @@
/* vginfo still referenced? */
if (!vginfo || is_orphan_vg(vginfo->vgname) ||
- !list_empty(&vginfo->infos))
+ !dm_list_empty(&vginfo->infos))
return 1;
if (!_free_vginfo(vginfo))
@@ -904,7 +904,7 @@
log_error("cache vgname alloc failed for %s", vgname);
return 0;
}
- list_init(&vginfo->infos);
+ dm_list_init(&vginfo->infos);
/*
* If we're scanning and there's an invalidated entry, remove it.
@@ -912,13 +912,13 @@
*/
while ((primary_vginfo = vginfo_from_vgname(vgname, NULL)) &&
_scanning_in_progress && _vginfo_is_invalid(primary_vginfo))
- list_iterate_items_safe(info2, info3, &primary_vginfo->infos) {
+ dm_list_iterate_items_safe(info2, info3, &primary_vginfo->infos) {
orphan_vginfo = vginfo_from_vgname(primary_vginfo->fmt->orphan_vg_name, NULL);
_drop_vginfo(info2, primary_vginfo);
_vginfo_attach_info(orphan_vginfo, info2);
if (info2->mdas.n)
sprintf(mdabuf, " with %u mdas",
- list_size(&info2->mdas));
+ dm_list_size(&info2->mdas));
else
mdabuf[0] = '\0';
log_debug("lvmcache: %s: now in VG %s%s%s%s%s",
@@ -936,9 +936,9 @@
}
/* Ensure orphans appear last on list_iterate */
if (is_orphan_vg(vgname))
- list_add(&_vginfos, &vginfo->list);
+ dm_list_add(&_vginfos, &vginfo->list);
else
- list_add_h(&_vginfos, &vginfo->list);
+ dm_list_add_h(&_vginfos, &vginfo->list);
/***
}
***/
@@ -956,7 +956,7 @@
if (info) {
if (info->mdas.n)
- sprintf(mdabuf, " with %u mdas", list_size(&info->mdas));
+ sprintf(mdabuf, " with %u mdas", dm_list_size(&info->mdas));
else
mdabuf[0] = '\0';
log_debug("lvmcache: %s: now in VG %s%s%s%s%s",
@@ -1027,7 +1027,7 @@
}
/* If PV without mdas is already in a real VG, don't make it orphan */
- if (is_orphan_vg(vgname) && info->vginfo && !list_size(&info->mdas) &&
+ if (is_orphan_vg(vgname) && info->vginfo && !dm_list_size(&info->mdas) &&
!is_orphan_vg(info->vginfo->vgname) && memlock())
return 1;
@@ -1053,7 +1053,7 @@
pvid_s[sizeof(pvid_s) - 1] = '\0';
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
strncpy(pvid_s, (char *) &pvl->pv->id, sizeof(pvid_s) - 1);
/* FIXME Could pvl->pv->dev->pvid ever be different? */
if ((info = info_from_pvid(pvid_s, 0)) &&
@@ -1101,7 +1101,7 @@
label->info = info;
info->label = label;
- list_init(&info->list);
+ dm_list_init(&info->list);
info->dev = dev;
} else {
if (existing->dev != dev) {
@@ -1246,9 +1246,9 @@
_lock_hash = NULL;
}
- if (!list_empty(&_vginfos))
+ if (!dm_list_empty(&_vginfos))
log_error("Internal error: _vginfos list should be empty");
- list_init(&_vginfos);
+ dm_list_init(&_vginfos);
if (retain_orphans)
init_lvmcache_orphans(cmd);
--- LVM2/lib/cache/lvmcache.h 2008/05/08 18:00:47 1.23
+++ LVM2/lib/cache/lvmcache.h 2008/11/03 22:14:27 1.24
@@ -35,8 +35,8 @@
/* One per VG */
struct lvmcache_vginfo {
- struct list list; /* Join these vginfos together */
- struct list infos; /* List head for lvmcache_infos */
+ struct dm_list list; /* Join these vginfos together */
+ struct dm_list infos; /* List head for lvmcache_infos */
const struct format_type *fmt;
char *vgname; /* "" == orphan */
uint32_t status;
@@ -50,9 +50,9 @@
/* One per device */
struct lvmcache_info {
- struct list list; /* Join VG members together */
- struct list mdas; /* list head for metadata areas */
- struct list das; /* list head for data areas */
+ struct dm_list list; /* Join VG members together */
+ struct dm_list mdas; /* list head for metadata areas */
+ struct dm_list das; /* list head for data areas */
struct lvmcache_vginfo *vginfo; /* NULL == unknown */
struct label *label;
const struct format_type *fmt;
@@ -98,14 +98,14 @@
/* Returns list of struct str_lists containing pool-allocated copy of vgnames */
/* Set full_scan to 1 to reread every filtered device label */
-struct list *lvmcache_get_vgnames(struct cmd_context *cmd, int full_scan);
+struct dm_list *lvmcache_get_vgnames(struct cmd_context *cmd, int full_scan);
/* Returns list of struct str_lists containing pool-allocated copy of vgids */
/* Set full_scan to 1 to reread every filtered device label */
-struct list *lvmcache_get_vgids(struct cmd_context *cmd, int full_scan);
+struct dm_list *lvmcache_get_vgids(struct cmd_context *cmd, int full_scan);
/* Returns list of struct str_lists containing pool-allocated copy of pvids */
-struct list *lvmcache_get_pvids(struct cmd_context *cmd, const char *vgname,
+struct dm_list *lvmcache_get_pvids(struct cmd_context *cmd, const char *vgname,
const char *vgid);
/* Returns cached volume group metadata. */
--- LVM2/lib/commands/toolcontext.c 2008/09/19 18:26:41 1.63
+++ LVM2/lib/commands/toolcontext.c 2008/11/03 22:14:27 1.64
@@ -410,7 +410,7 @@
/* Is there a config file? */
if (stat(config_file, &info) == -1) {
if (errno == ENOENT) {
- list_add(&cmd->config_files, &cfl->list);
+ dm_list_add(&cmd->config_files, &cfl->list);
goto out;
}
log_sys_error("stat", config_file);
@@ -425,7 +425,7 @@
return 0;
}
- list_add(&cmd->config_files, &cfl->list);
+ dm_list_add(&cmd->config_files, &cfl->list);
out:
if (*tag)
@@ -461,7 +461,7 @@
struct str_list *sl;
/* Tag list may grow while inside this loop */
- list_iterate_items(sl, &cmd->tags) {
+ dm_list_iterate_items(sl, &cmd->tags) {
if (!_load_config_file(cmd, sl->str))
return_0;
}
@@ -481,7 +481,7 @@
}
}
- list_iterate_items(cfl, &cmd->config_files) {
+ dm_list_iterate_items(cfl, &cmd->config_files) {
/* Merge all config trees into cmd->cft using merge/tag rules */
if (!merge_config_tree(cmd, cmd->cft, cfl->cft))
return_0;
@@ -492,10 +492,10 @@
static void _destroy_tags(struct cmd_context *cmd)
{
- struct list *slh, *slht;
+ struct dm_list *slh, *slht;
- list_iterate_safe(slh, slht, &cmd->tags) {
- list_del(slh);
+ dm_list_iterate_safe(slh, slht, &cmd->tags) {
+ dm_list_del(slh);
}
}
@@ -503,7 +503,7 @@
{
struct config_tree_list *cfl;
- list_iterate_items(cfl, &cmd->config_files) {
+ dm_list_iterate_items(cfl, &cmd->config_files) {
if (config_file_changed(cfl->cft))
return 1;
}
@@ -520,11 +520,11 @@
cmd->cft = NULL;
}
- list_iterate_items(cfl, &cmd->config_files) {
+ dm_list_iterate_items(cfl, &cmd->config_files) {
destroy_config_tree(cfl->cft);
}
- list_init(&cmd->config_files);
+ dm_list_init(&cmd->config_files);
}
static int _init_dev_cache(struct cmd_context *cmd)
@@ -725,14 +725,14 @@
if (!(fmt = init_lvm1_format(cmd)))
return 0;
fmt->library = NULL;
- list_add(&cmd->formats, &fmt->list);
+ dm_list_add(&cmd->formats, &fmt->list);
#endif
#ifdef POOL_INTERNAL
if (!(fmt = init_pool_format(cmd)))
return 0;
fmt->library = NULL;
- list_add(&cmd->formats, &fmt->list);
+ dm_list_add(&cmd->formats, &fmt->list);
#endif
#ifdef HAVE_LIBDL
@@ -764,7 +764,7 @@
if (!(fmt = init_format_fn(cmd)))
return 0;
fmt->library = lib;
- list_add(&cmd->formats, &fmt->list);
+ dm_list_add(&cmd->formats, &fmt->list);
}
}
#endif
@@ -772,14 +772,14 @@
if (!(fmt = create_text_format(cmd)))
return 0;
fmt->library = NULL;
- list_add(&cmd->formats, &fmt->list);
+ dm_list_add(&cmd->formats, &fmt->list);
cmd->fmt_backup = fmt;
format = find_config_tree_str(cmd, "global/format",
DEFAULT_FORMAT);
- list_iterate_items(fmt, &cmd->formats) {
+ dm_list_iterate_items(fmt, &cmd->formats) {
if (!strcasecmp(fmt->name, format) ||
(fmt->alias && !strcasecmp(fmt->alias, format))) {
cmd->default_settings.fmt = fmt;
@@ -795,7 +795,7 @@
{
struct format_type *fmt;
- list_iterate_items(fmt, &cmd->formats)
+ dm_list_iterate_items(fmt, &cmd->formats)
if (!lvmcache_add_orphan_vginfo(fmt->orphan_vg_name, fmt))
return_0;
@@ -813,35 +813,35 @@
if (!(segtype = init_striped_segtype(cmd)))
return 0;
segtype->library = NULL;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
if (!(segtype = init_zero_segtype(cmd)))
return 0;
segtype->library = NULL;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
if (!(segtype = init_error_segtype(cmd)))
return 0;
segtype->library = NULL;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
if (!(segtype = init_free_segtype(cmd)))
return 0;
segtype->library = NULL;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
#ifdef SNAPSHOT_INTERNAL
if (!(segtype = init_snapshot_segtype(cmd)))
return 0;
segtype->library = NULL;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
#endif
#ifdef MIRRORED_INTERNAL
if (!(segtype = init_mirrored_segtype(cmd)))
return 0;
segtype->library = NULL;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
#endif
#ifdef HAVE_LIBDL
@@ -874,16 +874,16 @@
if (!(segtype = init_segtype_fn(cmd)))
return 0;
segtype->library = lib;
- list_add(&cmd->segtypes, &segtype->list);
+ dm_list_add(&cmd->segtypes, &segtype->list);
- list_iterate_items(segtype2, &cmd->segtypes) {
+ dm_list_iterate_items(segtype2, &cmd->segtypes) {
if ((segtype == segtype2) ||
strcmp(segtype2->name, segtype->name))
continue;
log_error("Duplicate segment type %s: "
"unloading shared library %s",
segtype->name, cv->v.str);
- list_del(&segtype->list);
+ dm_list_del(&segtype->list);
segtype->ops->destroy(segtype);
dlclose(lib);
}
@@ -1008,10 +1008,10 @@
cmd->is_long_lived = is_long_lived;
cmd->handles_missing_pvs = 0;
cmd->hosttags = 0;
- list_init(&cmd->formats);
- list_init(&cmd->segtypes);
- list_init(&cmd->tags);
- list_init(&cmd->config_files);
+ dm_list_init(&cmd->formats);
+ dm_list_init(&cmd->segtypes);
+ dm_list_init(&cmd->tags);
+ dm_list_init(&cmd->config_files);
strcpy(cmd->sys_dir, DEFAULT_SYS_DIR);
@@ -1088,15 +1088,15 @@
return NULL;
}
-static void _destroy_formats(struct list *formats)
+static void _destroy_formats(struct dm_list *formats)
{
- struct list *fmtl, *tmp;
+ struct dm_list *fmtl, *tmp;
struct format_type *fmt;
void *lib;
- list_iterate_safe(fmtl, tmp, formats) {
- fmt = list_item(fmtl, struct format_type);
- list_del(&fmt->list);
+ dm_list_iterate_safe(fmtl, tmp, formats) {
+ fmt = dm_list_item(fmtl, struct format_type);
+ dm_list_del(&fmt->list);
lib = fmt->library;
fmt->ops->destroy(fmt);
#ifdef HAVE_LIBDL
@@ -1106,15 +1106,15 @@
}
}
-static void _destroy_segtypes(struct list *segtypes)
+static void _destroy_segtypes(struct dm_list *segtypes)
{
- struct list *sgtl, *tmp;
+ struct dm_list *sgtl, *tmp;
struct segment_type *segtype;
void *lib;
- list_iterate_safe(sgtl, tmp, segtypes) {
- segtype = list_item(sgtl, struct segment_type);
- list_del(&segtype->list);
+ dm_list_iterate_safe(sgtl, tmp, segtypes) {
+ segtype = dm_list_item(sgtl, struct segment_type);
+ dm_list_del(&segtype->list);
lib = segtype->library;
segtype->ops->destroy(segtype);
#ifdef HAVE_LIBDL
--- LVM2/lib/commands/toolcontext.h 2008/09/19 07:12:08 1.26
+++ LVM2/lib/commands/toolcontext.h 2008/11/03 22:14:27 1.27
@@ -57,8 +57,8 @@
const struct format_type *fmt; /* Current format to use by default */
struct format_type *fmt_backup; /* Format to use for backups */
- struct list formats; /* Available formats */
- struct list segtypes; /* Available segment types */
+ struct dm_list formats; /* Available formats */
+ struct dm_list segtypes; /* Available segment types */
const char *hostname;
const char *kernel_vsn;
@@ -74,7 +74,7 @@
struct dev_filter *filter;
int dump_filter; /* Dump filter when exiting? */
- struct list config_files;
+ struct dm_list config_files;
int config_valid;
struct config_tree *cft;
struct config_tree *cft_override;
@@ -86,7 +86,7 @@
const char *stripe_filler;
/* List of defined tags */
- struct list tags;
+ struct dm_list tags;
int hosttags;
char sys_dir[PATH_MAX];
--- LVM2/lib/config/config.c 2008/08/07 14:02:32 1.71
+++ LVM2/lib/config/config.c 2008/11/03 22:14:27 1.72
@@ -1165,7 +1165,7 @@
}
}
-static int _match_host_tags(struct list *tags, struct config_node *tn)
+static int _match_host_tags(struct dm_list *tags, struct config_node *tn)
{
struct config_value *tv;
const char *str;
--- LVM2/lib/config/config.h 2007/08/20 20:55:24 1.25
+++ LVM2/lib/config/config.h 2008/11/03 22:14:27 1.26
@@ -49,7 +49,7 @@
};
struct config_tree_list {
- struct list list;
+ struct dm_list list;
struct config_tree *cft;
};
--- LVM2/lib/datastruct/list.c 2008/04/10 19:14:26 1.4
+++ LVM2/lib/datastruct/list.c 2008/11/03 22:14:27 1.5
@@ -19,7 +19,7 @@
* Initialise a list before use.
* The list head's next and previous pointers point back to itself.
*/
-void list_init(struct list *head)
+void dm_list_init(struct dm_list *head)
{
head->n = head->p = head;
}
@@ -28,7 +28,7 @@
* Insert an element before 'head'.
* If 'head' is the list head, this adds an element to the end of the list.
*/
-void list_add(struct list *head, struct list *elem)
+void dm_list_add(struct dm_list *head, struct dm_list *elem)
{
assert(head->n);
@@ -43,7 +43,7 @@
* Insert an element after 'head'.
* If 'head' is the list head, this adds an element to the front of the list.
*/
-void list_add_h(struct list *head, struct list *elem)
+void dm_list_add_h(struct dm_list *head, struct dm_list *elem)
{
assert(head->n);
@@ -59,7 +59,7 @@
* Note that this doesn't change the element itself - it may still be safe
* to follow its pointers.
*/
-void list_del(struct list *elem)
+void dm_list_del(struct dm_list *elem)
{
elem->n->p = elem->p;
elem->p->n = elem->n;
@@ -68,16 +68,16 @@
/*
* Remove an element from existing list and insert before 'head'.
*/
-void list_move(struct list *head, struct list *elem)
+void dm_list_move(struct dm_list *head, struct dm_list *elem)
{
- list_del(elem);
- list_add(head, elem);
+ dm_list_del(elem);
+ dm_list_add(head, elem);
}
/*
* Is the list empty?
*/
-int list_empty(const struct list *head)
+int dm_list_empty(const struct dm_list *head)
{
return head->n == head;
}
@@ -85,7 +85,7 @@
/*
* Is this the first element of the list?
*/
-int list_start(const struct list *head, const struct list *elem)
+int dm_list_start(const struct dm_list *head, const struct dm_list *elem)
{
return elem->p == head;
}
@@ -93,7 +93,7 @@
/*
* Is this the last element of the list?
*/
-int list_end(const struct list *head, const struct list *elem)
+int dm_list_end(const struct dm_list *head, const struct dm_list *elem)
{
return elem->n == head;
}
@@ -101,44 +101,44 @@
/*
* Return first element of the list or NULL if empty
*/
-struct list *list_first(const struct list *head)
+struct dm_list *dm_list_first(const struct dm_list *head)
{
- return (list_empty(head) ? NULL : head->n);
+ return (dm_list_empty(head) ? NULL : head->n);
}
/*
* Return last element of the list or NULL if empty
*/
-struct list *list_last(const struct list *head)
+struct dm_list *dm_list_last(const struct dm_list *head)
{
- return (list_empty(head) ? NULL : head->p);
+ return (dm_list_empty(head) ? NULL : head->p);
}
/*
* Return the previous element of the list, or NULL if we've reached the start.
*/
-struct list *list_prev(const struct list *head, const struct list *elem)
+struct dm_list *dm_list_prev(const struct dm_list *head, const struct dm_list *elem)
{
- return (list_start(head, elem) ? NULL : elem->p);
+ return (dm_list_start(head, elem) ? NULL : elem->p);
}
/*
* Return the next element of the list, or NULL if we've reached the end.
*/
-struct list *list_next(const struct list *head, const struct list *elem)
+struct dm_list *dm_list_next(const struct dm_list *head, const struct dm_list *elem)
{
- return (list_end(head, elem) ? NULL : elem->n);
+ return (dm_list_end(head, elem) ? NULL : elem->n);
}
/*
* Return the number of elements in a list by walking it.
*/
-unsigned int list_size(const struct list *head)
+unsigned int dm_list_size(const struct dm_list *head)
{
unsigned int s = 0;
- const struct list *v;
+ const struct dm_list *v;
- list_iterate(v, head)
+ dm_list_iterate(v, head)
s++;
return s;
--- LVM2/lib/datastruct/list.h 2008/04/10 19:14:26 1.27
+++ LVM2/lib/datastruct/list.h 2008/11/03 22:14:27 1.28
@@ -24,106 +24,106 @@
* The list head's pointers point to the first and the last element.
*/
-struct list {
- struct list *n, *p;
+struct dm_list {
+ struct dm_list *n, *p;
};
/*
* Initialise a list before use.
* The list head's next and previous pointers point back to itself.
*/
-#define LIST_INIT(name) struct list name = { &(name), &(name) }
-void list_init(struct list *head);
+#define DM_LIST_INIT(name) struct dm_list name = { &(name), &(name) }
+void dm_list_init(struct dm_list *head);
/*
* Insert an element before 'head'.
* If 'head' is the list head, this adds an element to the end of the list.
*/
-void list_add(struct list *head, struct list *elem);
+void dm_list_add(struct dm_list *head, struct dm_list *elem);
/*
* Insert an element after 'head'.
* If 'head' is the list head, this adds an element to the front of the list.
*/
-void list_add_h(struct list *head, struct list *elem);
+void dm_list_add_h(struct dm_list *head, struct dm_list *elem);
/*
* Delete an element from its list.
* Note that this doesn't change the element itself - it may still be safe
* to follow its pointers.
*/
-void list_del(struct list *elem);
+void dm_list_del(struct dm_list *elem);
/*
* Remove an element from existing list and insert before 'head'.
*/
-void list_move(struct list *head, struct list *elem);
+void dm_list_move(struct dm_list *head, struct dm_list *elem);
/*
* Is the list empty?
*/
-int list_empty(const struct list *head);
+int dm_list_empty(const struct dm_list *head);
/*
* Is this the first element of the list?
*/
-int list_start(const struct list *head, const struct list *elem);
+int dm_list_start(const struct dm_list *head, const struct dm_list *elem);
/*
* Is this the last element of the list?
*/
-int list_end(const struct list *head, const struct list *elem);
+int dm_list_end(const struct dm_list *head, const struct dm_list *elem);
/*
* Return first element of the list or NULL if empty
*/
-struct list *list_first(const struct list *head);
+struct dm_list *dm_list_first(const struct dm_list *head);
/*
* Return last element of the list or NULL if empty
*/
-struct list *list_last(const struct list *head);
+struct dm_list *dm_list_last(const struct dm_list *head);
/*
* Return the previous element of the list, or NULL if we've reached the start.
*/
-struct list *list_prev(const struct list *head, const struct list *elem);
+struct dm_list *dm_list_prev(const struct dm_list *head, const struct dm_list *elem);
/*
* Return the next element of the list, or NULL if we've reached the end.
*/
-struct list *list_next(const struct list *head, const struct list *elem);
+struct dm_list *dm_list_next(const struct dm_list *head, const struct dm_list *elem);
/*
- * Given the address v of an instance of 'struct list' called 'head'
+ * Given the address v of an instance of 'struct dm_list' called 'head'
* contained in a structure of type t, return the containing structure.
*/
-#define list_struct_base(v, t, head) \
+#define dm_list_struct_base(v, t, head) \
((t *)((uintptr_t)(v) - (uintptr_t)&((t *) 0)->head))
/*
- * Given the address v of an instance of 'struct list list' contained in
+ * Given the address v of an instance of 'struct dm_list list' contained in
* a structure of type t, return the containing structure.
*/
-#define list_item(v, t) list_struct_base((v), t, list)
+#define dm_list_item(v, t) dm_list_struct_base((v), t, list)
/*
* Given the address v of one known element e in a known structure of type t,
* return another element f.
*/
-#define struct_field(v, t, e, f) \
+#define dm_struct_field(v, t, e, f) \
(((t *)((uintptr_t)(v) - (uintptr_t)&((t *) 0)->e))->f)
/*
* Given the address v of a known element e in a known structure of type t,
* return the list head 'list'
*/
-#define list_head(v, t, e) struct_field(v, t, e, list)
+#define dm_list_head(v, t, e) dm_struct_field(v, t, e, list)
/*
* Set v to each element of a list in turn.
*/
-#define list_iterate(v, head) \
+#define dm_list_iterate(v, head) \
for (v = (head)->n; v != head; v = v->n)
/*
@@ -133,7 +133,7 @@
* already-processed elements.
* If 'start' is 'head' it walks the list backwards.
*/
-#define list_uniterate(v, head, start) \
+#define dm_list_uniterate(v, head, start) \
for (v = (start)->p; v != head; v = v->p)
/*
@@ -141,68 +141,68 @@
* the way.
* t must be defined as a temporary variable of the same type as v.
*/
-#define list_iterate_safe(v, t, head) \
+#define dm_list_iterate_safe(v, t, head) \
for (v = (head)->n, t = v->n; v != head; v = t, t = v->n)
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The 'struct list' variable within the containing structure is 'field'.
+ * The 'struct dm_list' variable within the containing structure is 'field'.
*/
-#define list_iterate_items_gen(v, head, field) \
- for (v = list_struct_base((head)->n, typeof(*v), field); \
+#define dm_list_iterate_items_gen(v, head, field) \
+ for (v = dm_list_struct_base((head)->n, typeof(*v), field); \
&v->field != (head); \
- v = list_struct_base(v->field.n, typeof(*v), field))
+ v = dm_list_struct_base(v->field.n, typeof(*v), field))
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The list should be 'struct list list' within the containing structure.
+ * The list should be 'struct dm_list list' within the containing structure.
*/
-#define list_iterate_items(v, head) list_iterate_items_gen(v, (head), list)
+#define dm_list_iterate_items(v, head) dm_list_iterate_items_gen(v, (head), list)
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The 'struct list' variable within the containing structure is 'field'.
+ * The 'struct dm_list' variable within the containing structure is 'field'.
* t must be defined as a temporary variable of the same type as v.
*/
-#define list_iterate_items_gen_safe(v, t, head, field) \
- for (v = list_struct_base((head)->n, typeof(*v), field), \
- t = list_struct_base(v->field.n, typeof(*v), field); \
+#define dm_list_iterate_items_gen_safe(v, t, head, field) \
+ for (v = dm_list_struct_base((head)->n, typeof(*v), field), \
+ t = dm_list_struct_base(v->field.n, typeof(*v), field); \
&v->field != (head); \
- v = t, t = list_struct_base(v->field.n, typeof(*v), field))
+ v = t, t = dm_list_struct_base(v->field.n, typeof(*v), field))
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The list should be 'struct list list' within the containing structure.
+ * The list should be 'struct dm_list list' within the containing structure.
* t must be defined as a temporary variable of the same type as v.
*/
-#define list_iterate_items_safe(v, t, head) \
- list_iterate_items_gen_safe(v, t, (head), list)
+#define dm_list_iterate_items_safe(v, t, head) \
+ dm_list_iterate_items_gen_safe(v, t, (head), list)
/*
* Walk a list backwards, setting 'v' in turn to the containing structure
* of each item.
* The containing structure should be the same type as 'v'.
- * The 'struct list' variable within the containing structure is 'field'.
+ * The 'struct dm_list' variable within the containing structure is 'field'.
*/
-#define list_iterate_back_items_gen(v, head, field) \
- for (v = list_struct_base((head)->p, typeof(*v), field); \
+#define dm_list_iterate_back_items_gen(v, head, field) \
+ for (v = dm_list_struct_base((head)->p, typeof(*v), field); \
&v->field != (head); \
- v = list_struct_base(v->field.p, typeof(*v), field))
+ v = dm_list_struct_base(v->field.p, typeof(*v), field))
/*
* Walk a list backwards, setting 'v' in turn to the containing structure
* of each item.
* The containing structure should be the same type as 'v'.
- * The list should be 'struct list list' within the containing structure.
+ * The list should be 'struct dm_list list' within the containing structure.
*/
-#define list_iterate_back_items(v, head) list_iterate_back_items_gen(v, (head), list)
+#define dm_list_iterate_back_items(v, head) dm_list_iterate_back_items_gen(v, (head), list)
/*
* Return the number of elements in a list by walking it.
*/
-unsigned int list_size(const struct list *head);
+unsigned int dm_list_size(const struct dm_list *head);
#endif
--- LVM2/lib/datastruct/lvm-types.h 2008/08/01 19:51:27 1.14
+++ LVM2/lib/datastruct/lvm-types.h 2008/11/03 22:14:27 1.15
@@ -27,7 +27,7 @@
#define PRIpid_t PRId32
struct str_list {
- struct list list;
+ struct dm_list list;
const char *str;
};
--- LVM2/lib/datastruct/str_list.c 2008/01/30 13:19:44 1.10
+++ LVM2/lib/datastruct/str_list.c 2008/11/03 22:14:27 1.11
@@ -16,19 +16,19 @@
#include "lib.h"
#include "str_list.h"
-struct list *str_list_create(struct dm_pool *mem)
+struct dm_list *str_list_create(struct dm_pool *mem)
{
- struct list *sl;
+ struct dm_list *sl;
- if (!(sl = dm_pool_alloc(mem, sizeof(struct list))))
+ if (!(sl = dm_pool_alloc(mem, sizeof(struct dm_list))))
return_NULL;
- list_init(sl);
+ dm_list_init(sl);
return sl;
}
-int str_list_add(struct dm_pool *mem, struct list *sll, const char *str)
+int str_list_add(struct dm_pool *mem, struct dm_list *sll, const char *str)
{
struct str_list *sln;
@@ -43,31 +43,31 @@
return_0;
sln->str = str;
- list_add(sll, &sln->list);
+ dm_list_add(sll, &sln->list);
return 1;
}
-int str_list_del(struct list *sll, const char *str)
+int str_list_del(struct dm_list *sll, const char *str)
{
- struct list *slh, *slht;
+ struct dm_list *slh, *slht;
- list_iterate_safe(slh, slht, sll) {
- if (!strcmp(str, list_item(slh, struct str_list)->str))
- list_del(slh);
+ dm_list_iterate_safe(slh, slht, sll) {
+ if (!strcmp(str, dm_list_item(slh, struct str_list)->str))
+ dm_list_del(slh);
}
return 1;
}
-int str_list_dup(struct dm_pool *mem, struct list *sllnew,
- const struct list *sllold)
+int str_list_dup(struct dm_pool *mem, struct dm_list *sllnew,
+ const struct dm_list *sllold)
{
struct str_list *sl;
- list_init(sllnew);
+ dm_list_init(sllnew);
- list_iterate_items(sl, sllold) {
+ dm_list_iterate_items(sl, sllold) {
if (!str_list_add(mem, sllnew, dm_pool_strdup(mem, sl->str)))
return_0;
}
@@ -78,11 +78,11 @@
/*
* Is item on list?
*/
-int str_list_match_item(const struct list *sll, const char *str)
+int str_list_match_item(const struct dm_list *sll, const char *str)
{
struct str_list *sl;
- list_iterate_items(sl, sll)
+ dm_list_iterate_items(sl, sll)
if (!strcmp(str, sl->str))
return 1;
@@ -92,11 +92,11 @@
/*
* Is at least one item on both lists?
*/
-int str_list_match_list(const struct list *sll, const struct list *sll2)
+int str_list_match_list(const struct dm_list *sll, const struct dm_list *sll2)
{
struct str_list *sl;
- list_iterate_items(sl, sll)
+ dm_list_iterate_items(sl, sll)
if (str_list_match_item(sll2, sl->str))
return 1;
@@ -106,14 +106,14 @@
/*
* Do both lists contain the same set of items?
*/
-int str_list_lists_equal(const struct list *sll, const struct list *sll2)
+int str_list_lists_equal(const struct dm_list *sll, const struct dm_list *sll2)
{
struct str_list *sl;
- if (list_size(sll) != list_size(sll2))
+ if (dm_list_size(sll) != dm_list_size(sll2))
return 0;
- list_iterate_items(sl, sll)
+ dm_list_iterate_items(sl, sll)
if (!str_list_match_item(sll2, sl->str))
return 0;
--- LVM2/lib/datastruct/str_list.h 2007/08/20 20:55:24 1.8
+++ LVM2/lib/datastruct/str_list.h 2008/11/03 22:14:27 1.9
@@ -16,13 +16,13 @@
#ifndef _LVM_STR_LIST_H
#define _LVM_STR_LIST_H
-struct list *str_list_create(struct dm_pool *mem);
-int str_list_add(struct dm_pool *mem, struct list *sll, const char *str);
-int str_list_del(struct list *sll, const char *str);
-int str_list_match_item(const struct list *sll, const char *str);
-int str_list_match_list(const struct list *sll, const struct list *sll2);
-int str_list_lists_equal(const struct list *sll, const struct list *sll2);
-int str_list_dup(struct dm_pool *mem, struct list *sllnew,
- const struct list *sllold);
+struct dm_list *str_list_create(struct dm_pool *mem);
+int str_list_add(struct dm_pool *mem, struct dm_list *sll, const char *str);
+int str_list_del(struct dm_list *sll, const char *str);
+int str_list_match_item(const struct dm_list *sll, const char *str);
+int str_list_match_list(const struct dm_list *sll, const struct dm_list *sll2);
+int str_list_lists_equal(const struct dm_list *sll, const struct dm_list *sll2);
+int str_list_dup(struct dm_pool *mem, struct dm_list *sllnew,
+ const struct dm_list *sllold);
#endif
--- LVM2/lib/device/dev-cache.c 2008/05/28 22:27:47 1.53
+++ LVM2/lib/device/dev-cache.c 2008/11/03 22:14:27 1.54
@@ -31,7 +31,7 @@
};
struct dir_list {
- struct list list;
+ struct dm_list list;
char dir[0];
};
@@ -42,8 +42,8 @@
struct dm_regex *preferred_names_matcher;
int has_scanned;
- struct list dirs;
- struct list files;
+ struct dm_list dirs;
+ struct dm_list files;
} _cache;
@@ -97,15 +97,15 @@
}
dev->flags |= DEV_REGULAR;
- list_init(&dev->aliases);
- list_add(&dev->aliases, &alias->list);
+ dm_list_init(&dev->aliases);
+ dm_list_add(&dev->aliases, &alias->list);
dev->end = UINT64_C(0);
dev->dev = 0;
dev->fd = -1;
dev->open_count = 0;
dev->block_size = -1;
memset(dev->pvid, 0, sizeof(dev->pvid));
- list_init(&dev->open_list);
+ dm_list_init(&dev->open_list);
return dev;
}
@@ -119,14 +119,14 @@
return NULL;
}
dev->flags = 0;
- list_init(&dev->aliases);
+ dm_list_init(&dev->aliases);
dev->dev = d;
dev->fd = -1;
dev->open_count = 0;
dev->block_size = -1;
dev->end = UINT64_C(0);
memset(dev->pvid, 0, sizeof(dev->pvid));
- list_init(&dev->open_list);
+ dm_list_init(&dev->open_list);
return dev;
}
@@ -140,8 +140,8 @@
return;
log_debug("%s: New preferred name", sl->str);
- list_del(&sl->list);
- list_add_h(&dev->aliases, &sl->list);
+ dm_list_del(&sl->list);
+ dm_list_add_h(&dev->aliases, &sl->list);
}
/* Return 1 if we prefer path1 else return 0 */
@@ -240,7 +240,7 @@
return_0;
/* Is name already there? */
- list_iterate_items(strl, &dev->aliases) {
+ dm_list_iterate_items(strl, &dev->aliases) {
if (!strcmp(strl->str, path)) {
log_debug("%s: Already in device cache", path);
return 1;
@@ -250,8 +250,8 @@
if (!(sl->str = dm_pool_strdup(_cache.mem, path)))
return_0;
- if (!list_empty(&dev->aliases)) {
- oldpath = list_item(dev->aliases.n, struct str_list)->str;
+ if (!dm_list_empty(&dev->aliases)) {
+ oldpath = dm_list_item(dev->aliases.n, struct str_list)->str;
prefer_old = _compare_paths(path, oldpath);
log_debug("%s: Aliased to %s in device cache%s",
path, oldpath, prefer_old ? "" : " (preferred name)");
@@ -260,9 +260,9 @@
log_debug("%s: Added to device cache", path);
if (prefer_old)
- list_add(&dev->aliases, &sl->list);
+ dm_list_add(&dev->aliases, &sl->list);
else
- list_add_h(&dev->aliases, &sl->list);
+ dm_list_add_h(&dev->aliases, &sl->list);
return 1;
}
@@ -443,10 +443,10 @@
if (_cache.has_scanned && !dev_scan)
return;
- list_iterate_items(dl, &_cache.dirs)
+ dm_list_iterate_items(dl, &_cache.dirs)
_insert_dir(dl->dir);
- list_iterate_items(dl, &_cache.files)
+ dm_list_iterate_items(dl, &_cache.files)
_insert_file(dl->dir);
_cache.has_scanned = 1;
@@ -543,8 +543,8 @@
goto bad;
}
- list_init(&_cache.dirs);
- list_init(&_cache.files);
+ dm_list_init(&_cache.dirs);
+ dm_list_init(&_cache.files);
if (!_init_preferred_names(cmd))
goto_bad;
@@ -587,8 +587,8 @@
_cache.devices = NULL;
_cache.has_scanned = 0;
- list_init(&_cache.dirs);
- list_init(&_cache.files);
+ dm_list_init(&_cache.dirs);
+ dm_list_init(&_cache.files);
}
int dev_cache_add_dir(const char *path)
@@ -613,7 +613,7 @@
}
strcpy(dl->dir, path);
- list_add(&_cache.dirs, &dl->list);
+ dm_list_add(&_cache.dirs, &dl->list);
return 1;
}
@@ -639,7 +639,7 @@
}
strcpy(dl->dir, path);
- list_add(&_cache.files, &dl->list);
+ dm_list_add(&_cache.files, &dl->list);
return 1;
}
@@ -656,7 +656,7 @@
if ((dev->flags & DEV_REGULAR))
return dev_name(dev);
- while ((r = stat(name = list_item(dev->aliases.n,
+ while ((r = stat(name = dm_list_item(dev->aliases.n,
struct str_list)->str, &buf)) ||
(buf.st_rdev != dev->dev)) {
if (r < 0) {
@@ -680,8 +680,8 @@
/* Leave list alone if there isn't an alternative name */
/* so dev_name will always find something to return. */
/* Otherwise add the name to the correct device. */
- if (list_size(&dev->aliases) > 1) {
- list_del(dev->aliases.n);
+ if (dm_list_size(&dev->aliases) > 1) {
+ dm_list_del(dev->aliases.n);
if (!r)
_insert(name, 0);
continue;
@@ -776,6 +776,6 @@
const char *dev_name(const struct device *dev)
{
- return (dev) ? list_item(dev->aliases.n, struct str_list)->str :
+ return (dev) ? dm_list_item(dev->aliases.n, struct str_list)->str :
"unknown device";
}
--- LVM2/lib/device/dev-io.c 2008/01/30 13:59:58 1.62
+++ LVM2/lib/device/dev-io.c 2008/11/03 22:14:27 1.63
@@ -51,7 +51,7 @@
# endif
#endif
-static LIST_INIT(_open_devices);
+static DM_LIST_INIT(_open_devices);
/*-----------------------------------------------------------------
* The standard io loop that keeps submitting an io until it's
@@ -431,7 +431,7 @@
if ((flags & O_CREAT) && !(flags & O_TRUNC))
dev->end = lseek(dev->fd, (off_t) 0, SEEK_END);
- list_add(&_open_devices, &dev->open_list);
+ dm_list_add(&_open_devices, &dev->open_list);
log_debug("Opened %s %s%s%s", dev_name(dev),
dev->flags & DEV_OPENED_RW ? "RW" : "RO",
@@ -480,12 +480,12 @@
log_sys_error("close", dev_name(dev));
dev->fd = -1;
dev->block_size = -1;
- list_del(&dev->open_list);
+ dm_list_del(&dev->open_list);
log_debug("Closed %s", dev_name(dev));
if (dev->flags & DEV_ALLOCED) {
- dm_free((void *) list_item(dev->aliases.n, struct str_list)->
+ dm_free((void *) dm_list_item(dev->aliases.n, struct str_list)->
str);
dm_free(dev->aliases.n);
dm_free(dev);
@@ -537,11 +537,11 @@
void dev_close_all(void)
{
- struct list *doh, *doht;
+ struct dm_list *doh, *doht;
struct device *dev;
- list_iterate_safe(doh, doht, &_open_devices) {
- dev = list_struct_base(doh, struct device, open_list);
+ dm_list_iterate_safe(doh, doht, &_open_devices) {
+ dev = dm_list_struct_base(doh, struct device, open_list);
if (dev->open_count < 1)
_close(dev);
}
--- LVM2/lib/device/device.h 2008/09/19 05:19:09 1.36
+++ LVM2/lib/device/device.h 2008/11/03 22:14:27 1.37
@@ -33,7 +33,7 @@
* pointer comparisons are valid.
*/
struct device {
- struct list aliases; /* struct str_list from lvm-types.h */
+ struct dm_list aliases; /* struct str_list from lvm-types.h */
dev_t dev;
/* private */
@@ -42,14 +42,14 @@
int block_size;
uint32_t flags;
uint64_t end;
- struct list open_list;
+ struct dm_list open_list;
char pvid[ID_LEN + 1];
char _padding[7];
};
struct device_list {
- struct list list;
+ struct dm_list list;
struct device *dev;
};
--- LVM2/lib/display/display.c 2008/11/03 18:59:58 1.93
+++ LVM2/lib/display/display.c 2008/11/03 22:14:28 1.94
@@ -266,7 +266,7 @@
if (pv->pe_size)
log_print("--- Physical Segments ---");
- list_iterate_items(pvseg, &pv->segments) {
+ dm_list_iterate_items(pvseg, &pv->segments) {
log_print("Physical extent %u to %u:",
pvseg->pe, pvseg->pe + pvseg->len - 1);
@@ -425,7 +425,7 @@
if (lv_is_origin(lv)) {
log_print("LV snapshot status source of");
- list_iterate_items_gen(snap_seg, &lv->snapshot_segs,
+ dm_list_iterate_items_gen(snap_seg, &lv->snapshot_segs,
origin_list) {
if (inkernel &&
(snap_active = lv_snapshot_percent(snap_seg->cow,
@@ -483,7 +483,7 @@
display_size(cmd, (uint64_t) snap_seg->chunk_size));
}
- log_print("Segments %u", list_size(&lv->segments));
+ log_print("Segments %u", dm_list_size(&lv->segments));
/********* FIXME Stripes & stripesize for each segment
log_print("Stripe size (KByte) %u", lv->stripesize / 2);
@@ -551,7 +551,7 @@
log_print("--- Segments ---");
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
log_print("Logical extent %u to %u:",
seg->le, seg->le + seg->len - 1);
@@ -586,7 +586,7 @@
log_print("Format %s", vg->fid->fmt->name);
if (vg->fid->fmt->features & FMT_MDAS) {
log_print("Metadata Areas %d",
- list_size(&vg->fid->metadata_areas));
+ dm_list_size(&vg->fid->metadata_areas));
log_print("Metadata Sequence No %d", vg->seqno);
}
access_str = vg->status & (LVM_READ | LVM_WRITE);
@@ -607,7 +607,7 @@
vg->status & SHARED ? "yes" : "no");
}
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (lv_is_visible(lvl->lv) && !(lvl->lv->status & SNAPSHOT))
lv_count++;
@@ -663,7 +663,7 @@
active_pvs = vg->pv_count - vg_missing_pv_count(vg);
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (lv_is_visible(lvl->lv) && !(lvl->lv->status & SNAPSHOT))
lv_count++;
@@ -726,7 +726,7 @@
{
const struct format_type *fmt;
- list_iterate_items(fmt, &cmd->formats) {
+ dm_list_iterate_items(fmt, &cmd->formats) {
log_print("%s", fmt->name);
}
}
@@ -735,7 +735,7 @@
{
const struct segment_type *segtype;
- list_iterate_items(segtype, &cmd->segtypes) {
+ dm_list_iterate_items(segtype, &cmd->segtypes) {
log_print("%s", segtype->name);
}
}
--- LVM2/lib/error/errseg.c 2008/04/07 10:23:46 1.17
+++ LVM2/lib/error/errseg.c 2008/11/03 22:14:28 1.18
@@ -69,7 +69,7 @@
static int _errseg_modules_needed(struct dm_pool *mem,
const struct lv_segment *seg __attribute((unused)),
- struct list *modules)
+ struct dm_list *modules)
{
if (!str_list_add(mem, modules, "error")) {
log_error("error module string list allocation failed");
--- LVM2/lib/filters/filter-persistent.c 2008/03/12 16:03:21 1.36
+++ LVM2/lib/filters/filter-persistent.c 2008/11/03 22:14:28 1.37
@@ -273,7 +273,7 @@
l = pf->real->passes_filter(pf->real, dev) ?
PF_GOOD_DEVICE : PF_BAD_DEVICE;
- list_iterate_items(sl, &dev->aliases)
+ dm_list_iterate_items(sl, &dev->aliases)
dm_hash_insert(pf->devices, sl->str, l);
} else if (l == PF_BAD_DEVICE)
--- LVM2/lib/filters/filter-regex.c 2008/01/30 13:59:58 1.25
+++ LVM2/lib/filters/filter-regex.c 2008/11/03 22:14:28 1.26
@@ -151,7 +151,7 @@
struct rfilter *rf = (struct rfilter *) f->private;
struct str_list *sl;
- list_iterate_items(sl, &dev->aliases) {
+ dm_list_iterate_items(sl, &dev->aliases) {
m = dm_regex_match(rf->engine, sl->str);
if (m >= 0) {
--- LVM2/lib/format1/Makefile.in 2007/09/21 10:16:44 1.9
+++ LVM2/lib/format1/Makefile.in 2008/11/03 22:14:28 1.10
@@ -26,6 +26,7 @@
vg_number.c
LIB_SHARED = liblvm2format1.so
+LIB_VERSION = $(LIB_VERSION_LVM)
include $(top_srcdir)/make.tmpl
--- LVM2/lib/format1/disk-rep.c 2008/11/03 16:26:27 1.77
+++ LVM2/lib/format1/disk-rep.c 2008/11/03 22:14:28 1.78
@@ -261,7 +261,7 @@
memcpy(ul->uuid, buffer, NAME_LEN);
ul->uuid[NAME_LEN - 1] = '\0';
- list_add(&data->uuids, &ul->list);
+ dm_list_add(&data->uuids, &ul->list);
pos += NAME_LEN;
num_read++;
@@ -296,7 +296,7 @@
continue;
lvs_read++;
- list_add(&data->lvds, &ll->list);
+ dm_list_add(&data->lvds, &ll->list);
}
return 1;
@@ -336,7 +336,7 @@
}
info->device_size = xlate32(dl->pvd.pv_size) << SECTOR_SHIFT;
- list_init(&info->mdas);
+ dm_list_init(&info->mdas);
info->status &= ~CACHE_INVALID;
}
@@ -352,8 +352,8 @@
dl->dev = dev;
dl->mem = mem;
- list_init(&dl->uuids);
- list_init(&dl->lvds);
+ dm_list_init(&dl->uuids);
+ dm_list_init(&dl->lvds);
if (!_read_pvd(dev, &dl->pvd))
goto_bad;
@@ -426,12 +426,12 @@
return dl;
}
-static void _add_pv_to_list(struct list *head, struct disk_list *data)
+static void _add_pv_to_list(struct dm_list *head, struct disk_list *data)
{
struct pv_disk *pvd;
struct disk_list *diskl;
- list_iterate_items(diskl, head) {
+ dm_list_iterate_items(diskl, head) {
pvd = &diskl->pvd;
if (!strncmp((char *)data->pvd.pv_uuid, (char *)pvd->pv_uuid,
sizeof(pvd->pv_uuid))) {
@@ -443,11 +443,11 @@
}
log_very_verbose("Duplicate PV %s - using md %s",
pvd->pv_uuid, dev_name(data->dev));
- list_del(&diskl->list);
+ dm_list_del(&diskl->list);
break;
}
}
- list_add(head, &data->list);
+ dm_list_add(head, &data->list);
}
/*
@@ -457,7 +457,7 @@
*/
int read_pvs_in_vg(const struct format_type *fmt, const char *vg_name,
struct dev_filter *filter, struct dm_pool *mem,
- struct list *head)
+ struct dm_list *head)
{
struct dev_iter *iter;
struct device *dev;
@@ -468,7 +468,7 @@
/* Fast path if we already saw this VG and cached the list of PVs */
if (vg_name && (vginfo = vginfo_from_vgname(vg_name, NULL)) &&
vginfo->infos.n) {
- list_iterate_items(info, &vginfo->infos) {
+ dm_list_iterate_items(info, &vginfo->infos) {
dev = info->dev;
if (dev && !(data = read_disk(fmt, dev, mem, vg_name)))
break;
@@ -478,11 +478,11 @@
/* Did we find the whole VG? */
if (!vg_name || is_orphan_vg(vg_name) ||
(data && *data->pvd.vg_name &&
- list_size(head) == data->vgd.pv_cur))
+ dm_list_size(head) == data->vgd.pv_cur))
return 1;
/* Failed */
- list_init(head);
+ dm_list_init(head);
/* vgcache_del(vg_name); */
}
@@ -499,7 +499,7 @@
}
dev_iter_destroy(iter);
- if (list_empty(head))
+ if (dm_list_empty(head))
return 0;
return 1;
@@ -528,7 +528,7 @@
uint64_t pos = data->pvd.pv_uuidlist_on_disk.base;
uint64_t end = pos + data->pvd.pv_uuidlist_on_disk.size;
- list_iterate_items(ul, &data->uuids) {
+ dm_list_iterate_items(ul, &data->uuids) {
if (pos >= end) {
log_error("Too many uuids to fit on %s",
dev_name(data->dev));
@@ -576,7 +576,7 @@
return 0;
}
- list_iterate_items(ll, &data->lvds) {
+ dm_list_iterate_items(ll, &data->lvds) {
offset = sizeof(struct lv_disk) * ll->lvd.lv_number;
if (offset + sizeof(struct lv_disk) > data->pvd.lv_on_disk.size) {
log_error("lv_number %d too large", ll->lvd.lv_number);
@@ -719,11 +719,11 @@
* little sanity checking, so make sure correct
* data is passed to here.
*/
-int write_disks(const struct format_type *fmt, struct list *pvs)
+int write_disks(const struct format_type *fmt, struct dm_list *pvs)
{
struct disk_list *dl;
- list_iterate_items(dl, pvs) {
+ dm_list_iterate_items(dl, pvs) {
if (!(_write_all_pvd(fmt, dl)))
return_0;
--- LVM2/lib/format1/disk-rep.h 2008/09/19 06:41:58 1.52
+++ LVM2/lib/format1/disk-rep.h 2008/11/03 22:14:28 1.53
@@ -147,24 +147,24 @@
} __attribute__ ((packed));
struct uuid_list {
- struct list list;
+ struct dm_list list;
char uuid[NAME_LEN] __attribute((aligned(8)));
};
struct lvd_list {
- struct list list;
+ struct dm_list list;
struct lv_disk lvd;
};
struct disk_list {
- struct list list;
+ struct dm_list list;
struct dm_pool *mem;
struct device *dev;
struct pv_disk pvd __attribute((aligned(8)));
struct vg_disk vgd __attribute((aligned(8)));
- struct list uuids __attribute((aligned(8)));
- struct list lvds __attribute((aligned(8)));
+ struct dm_list uuids __attribute((aligned(8)));
+ struct dm_list lvds __attribute((aligned(8)));
struct pe_disk *extents __attribute((aligned(8)));
};
@@ -195,9 +195,9 @@
int read_pvs_in_vg(const struct format_type *fmt, const char *vg_name,
struct dev_filter *filter,
- struct dm_pool *mem, struct list *results);
+ struct dm_pool *mem, struct dm_list *results);
-int write_disks(const struct format_type *fmt, struct list *pvds);
+int write_disks(const struct format_type *fmt, struct dm_list *pvds);
/*
* Functions to translate to between disk and in
@@ -218,33 +218,33 @@
int import_lv(struct dm_pool *mem, struct logical_volume *lv, struct lv_disk *lvd);
int import_extents(struct cmd_context *cmd, struct volume_group *vg,
- struct list *pvds);
+ struct dm_list *pvds);
int export_extents(struct disk_list *dl, uint32_t lv_num,
struct logical_volume *lv, struct physical_volume *pv);
int import_pvs(const struct format_type *fmt, struct dm_pool *mem,
struct volume_group *vg,
- struct list *pvds, struct list *results, uint32_t *count);
+ struct dm_list *pvds, struct dm_list *results, uint32_t *count);
-int import_lvs(struct dm_pool *mem, struct volume_group *vg, struct list *pvds);
+int import_lvs(struct dm_pool *mem, struct volume_group *vg, struct dm_list *pvds);
int export_lvs(struct disk_list *dl, struct volume_group *vg,
struct physical_volume *pv, const char *dev_dir);
int import_snapshots(struct dm_pool *mem, struct volume_group *vg,
- struct list *pvds);
+ struct dm_list *pvds);
int export_uuids(struct disk_list *dl, struct volume_group *vg);
-void export_numbers(struct list *pvds, struct volume_group *vg);
+void export_numbers(struct dm_list *pvds, struct volume_group *vg);
-void export_pv_act(struct list *pvds);
+void export_pv_act(struct dm_list *pvds);
int munge_pvd(struct device *dev, struct pv_disk *pvd);
int read_vgd(struct device *dev, struct vg_disk *vgd, struct pv_disk *pvd);
/* blech */
int get_free_vg_number(struct format_instance *fid, struct dev_filter *filter,
const char *candidate_vg, int *result);
-int export_vg_number(struct format_instance *fid, struct list *pvds,
+int export_vg_number(struct format_instance *fid, struct dm_list *pvds,
const char *vg_name, struct dev_filter *filter);
#endif
--- LVM2/lib/format1/format1.c 2008/09/19 06:41:58 1.108
+++ LVM2/lib/format1/format1.c 2008/11/03 22:14:28 1.109
@@ -23,9 +23,9 @@
#include "segtype.h"
/* VG consistency checks */
-static int _check_vgs(struct list *pvs)
+static int _check_vgs(struct dm_list *pvs)
{
- struct list *pvh, *t;
+ struct dm_list *pvh, *t;
struct disk_list *dl = NULL;
struct disk_list *first = NULL;
@@ -38,7 +38,7 @@
* This means an active VG won't be affected if disks are inserted
* bearing an exported VG with the same name.
*/
- list_iterate_items(dl, pvs) {
+ dm_list_iterate_items(dl, pvs) {
if (first_time) {
exported = dl->pvd.pv_status & VG_EXPORTED;
first_time = 0;
@@ -47,18 +47,18 @@
if (exported != (dl->pvd.pv_status & VG_EXPORTED)) {
/* Remove exported PVs */
- list_iterate_safe(pvh, t, pvs) {
- dl = list_item(pvh, struct disk_list);
+ dm_list_iterate_safe(pvh, t, pvs) {
+ dl = dm_list_item(pvh, struct disk_list);
if (dl->pvd.pv_status & VG_EXPORTED)
- list_del(pvh);
+ dm_list_del(pvh);
}
break;
}
}
/* Remove any PVs with VG structs that differ from the first */
- list_iterate_safe(pvh, t, pvs) {
- dl = list_item(pvh, struct disk_list);
+ dm_list_iterate_safe(pvh, t, pvs) {
+ dl = dm_list_item(pvh, struct disk_list);
if (!first)
first = dl;
@@ -95,7 +95,7 @@
dl->vgd.vgda, dl->vgd.pe_size,
dl->vgd.pe_total, dl->vgd.pe_allocated,
dl->vgd.pvg_total);
- list_del(pvh);
+ dm_list_del(pvh);
return 0;
}
pv_count++;
@@ -111,7 +111,7 @@
}
static struct volume_group *_build_vg(struct format_instance *fid,
- struct list *pvs)
+ struct dm_list *pvs)
{
struct dm_pool *mem = fid->fmt->cmd->mem;
struct volume_group *vg = dm_pool_alloc(mem, sizeof(*vg));
@@ -120,7 +120,7 @@
if (!vg)
goto_bad;
- if (list_empty(pvs))
+ if (dm_list_empty(pvs))
goto_bad;
memset(vg, 0, sizeof(*vg));
@@ -128,14 +128,14 @@
vg->cmd = fid->fmt->cmd;
vg->fid = fid;
vg->seqno = 0;
- list_init(&vg->pvs);
- list_init(&vg->lvs);
- list_init(&vg->tags);
+ dm_list_init(&vg->pvs);
+ dm_list_init(&vg->lvs);
+ dm_list_init(&vg->tags);
if (!_check_vgs(pvs))
goto_bad;
- dl = list_item(pvs->n, struct disk_list);
+ dl = dm_list_item(pvs->n, struct disk_list);
if (!import_vg(mem, vg, dl))
goto_bad;
@@ -164,9 +164,9 @@
struct metadata_area *mda __attribute((unused)))
{
struct dm_pool *mem = dm_pool_create("lvm1 vg_read", 1024 * 10);
- struct list pvs;
+ struct dm_list pvs;
struct volume_group *vg = NULL;
- list_init(&pvs);
+ dm_list_init(&pvs);
if (!mem)
return_NULL;
@@ -199,8 +199,8 @@
dl->mem = mem;
dl->dev = pv->dev;
- list_init(&dl->uuids);
- list_init(&dl->lvds);
+ dm_list_init(&dl->uuids);
+ dm_list_init(&dl->lvds);
if (!export_pv(fid->fmt->cmd, mem, vg, &dl->pvd, pv) ||
!export_vg(&dl->vgd, vg) ||
@@ -215,17 +215,17 @@
static int _flatten_vg(struct format_instance *fid, struct dm_pool *mem,
struct volume_group *vg,
- struct list *pvds, const char *dev_dir,
+ struct dm_list *pvds, const char *dev_dir,
struct dev_filter *filter)
{
struct pv_list *pvl;
struct disk_list *data;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (!(data = _flatten_pv(fid, mem, vg, pvl->pv, dev_dir)))
return_0;
- list_add(pvds, &data->list);
+ dm_list_add(pvds, &data->list);
}
export_numbers(pvds, vg);
@@ -241,13 +241,13 @@
struct metadata_area *mda __attribute((unused)))
{
struct dm_pool *mem = dm_pool_create("lvm1 vg_write", 1024 * 10);
- struct list pvds;
+ struct dm_list pvds;
int r = 0;
if (!mem)
return_0;
- list_init(&pvds);
+ dm_list_init(&pvds);
r = (_flatten_vg(fid, mem, vg, &pvds, fid->fmt->cmd->dev_dir,
fid->fmt->cmd->filter) &&
@@ -259,7 +259,7 @@
}
static int _format1_pv_read(const struct format_type *fmt, const char *pv_name,
- struct physical_volume *pv, struct list *mdas __attribute((unused)))
+ struct physical_volume *pv, struct dm_list *mdas __attribute((unused)))
{
struct dm_pool *mem = dm_pool_create("lvm1 pv_read", 1024);
struct disk_list *dl;
@@ -293,7 +293,7 @@
uint64_t pe_start, uint32_t extent_count,
uint32_t extent_size,
int pvmetadatacopies __attribute((unused)),
- uint64_t pvmetadatasize __attribute((unused)), struct list *mdas __attribute((unused)),
+ uint64_t pvmetadatasize __attribute((unused)), struct dm_list *mdas __attribute((unused)),
struct physical_volume *pv, struct volume_group *vg __attribute((unused)))
{
if (pv->size > MAX_PV_SIZE)
@@ -346,11 +346,11 @@
}
static int _format1_pv_write(const struct format_type *fmt, struct physical_volume *pv,
- struct list *mdas __attribute((unused)), int64_t sector __attribute((unused)))
+ struct dm_list *mdas __attribute((unused)), int64_t sector __attribute((unused)))
{
struct dm_pool *mem;
struct disk_list *dl;
- struct list pvs;
+ struct dm_list pvs;
struct label *label;
struct lvmcache_info *info;
@@ -361,9 +361,9 @@
info->device_size = pv->size << SECTOR_SHIFT;
info->fmt = fmt;
- list_init(&info->mdas);
+ dm_list_init(&info->mdas);
- list_init(&pvs);
+ dm_list_init(&pvs);
/* Ensure any residual PE structure is gone */
pv->pe_size = pv->pe_count = 0;
@@ -387,7 +387,7 @@
dl->pvd.pv_on_disk.size = PV_SIZE;
dl->pvd.pe_on_disk.base = LVM1_PE_ALIGN << SECTOR_SHIFT;
- list_add(&pvs, &dl->list);
+ dm_list_add(&pvs, &dl->list);
if (!write_disks(fmt, &pvs))
goto_bad;
@@ -457,7 +457,7 @@
return_NULL;
fid->fmt = fmt;
- list_init(&fid->metadata_areas);
+ dm_list_init(&fid->metadata_areas);
/* Define a NULL metadata area */
if (!(mda = dm_pool_alloc(fmt->cmd->mem, sizeof(*mda)))) {
@@ -467,7 +467,7 @@
mda->ops = &_metadata_format1_ops;
mda->metadata_locn = NULL;
- list_add(&fid->metadata_areas, &mda->list);
+ dm_list_add(&fid->metadata_areas, &mda->list);
return fid;
}
--- LVM2/lib/format1/import-export.c 2008/09/19 06:41:58 1.99
+++ LVM2/lib/format1/import-export.c 2008/11/03 22:14:28 1.100
@@ -116,8 +116,8 @@
}
}
- list_init(&pv->tags);
- list_init(&pv->segments);
+ dm_list_init(&pv->tags);
+ dm_list_init(&pv->segments);
if (!alloc_pv_segment_whole_pv(mem, pv))
return_0;
@@ -339,10 +339,10 @@
lv->le_count = lvd->lv_allocated_le;
lv->snapshot = NULL;
- list_init(&lv->snapshot_segs);
- list_init(&lv->segments);
- list_init(&lv->tags);
- list_init(&lv->segs_using_this_lv);
+ dm_list_init(&lv->snapshot_segs);
+ dm_list_init(&lv->segments);
+ dm_list_init(&lv->tags);
+ dm_list_init(&lv->segs_using_this_lv);
return 1;
}
@@ -379,9 +379,9 @@
lvd->lv_read_ahead = lv->read_ahead;
lvd->lv_stripes =
- list_item(lv->segments.n, struct lv_segment)->area_count;
+ dm_list_item(lv->segments.n, struct lv_segment)->area_count;
lvd->lv_stripesize =
- list_item(lv->segments.n, struct lv_segment)->stripe_size;
+ dm_list_item(lv->segments.n, struct lv_segment)->stripe_size;
lvd->lv_size = lv->size;
lvd->lv_allocated_le = lv->le_count;
@@ -400,7 +400,7 @@
struct lv_segment *seg;
uint32_t pe, s;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
for (s = 0; s < seg->area_count; s++) {
if (!(seg->segtype->flags & SEG_FORMAT1_SUPPORT)) {
log_error("Segment type %s in LV %s: "
@@ -430,13 +430,13 @@
int import_pvs(const struct format_type *fmt, struct dm_pool *mem,
struct volume_group *vg,
- struct list *pvds, struct list *results, uint32_t *count)
+ struct dm_list *pvds, struct dm_list *results, uint32_t *count)
{
struct disk_list *dl;
struct pv_list *pvl;
*count = 0;
- list_iterate_items(dl, pvds) {
+ dm_list_iterate_items(dl, pvds) {
if (!(pvl = dm_pool_zalloc(mem, sizeof(*pvl))) ||
!(pvl->pv = dm_pool_alloc(mem, sizeof(*pvl->pv))))
return_0;
@@ -445,7 +445,7 @@
return_0;
pvl->pv->fmt = fmt;
- list_add(results, &pvl->list);
+ dm_list_add(results, &pvl->list);
(*count)++;
}
@@ -468,20 +468,20 @@
if (!import_lv(mem, lv, lvd))
return_NULL;
- list_add(&vg->lvs, &ll->list);
+ dm_list_add(&vg->lvs, &ll->list);
vg->lv_count++;
return lv;
}
-int import_lvs(struct dm_pool *mem, struct volume_group *vg, struct list *pvds)
+int import_lvs(struct dm_pool *mem, struct volume_group *vg, struct dm_list *pvds)
{
struct disk_list *dl;
struct lvd_list *ll;
struct lv_disk *lvd;
- list_iterate_items(dl, pvds) {
- list_iterate_items(ll, &dl->lvds) {
+ dm_list_iterate_items(dl, pvds) {
+ dm_list_iterate_items(ll, &dl->lvds) {
lvd = &ll->lvd;
if (!find_lv(vg, (char *)lvd->lv_name) &&
@@ -518,7 +518,7 @@
goto_out;
memset(dl->extents, 0, len);
- list_iterate_items(ll, &vg->lvs) {
+ dm_list_iterate_items(ll, &vg->lvs) {
if (ll->lv->status & SNAPSHOT)
continue;
@@ -546,7 +546,7 @@
lvnum_from_lvid(&ll->lv->snapshot->origin->lvid);
}
- list_add(&dl->lvds, &lvdl->list);
+ dm_list_add(&dl->lvds, &lvdl->list);
dl->pvd.lv_cur++;
}
@@ -561,7 +561,7 @@
* FIXME: More inefficient code.
*/
int import_snapshots(struct dm_pool *mem __attribute((unused)), struct volume_group *vg,
- struct list *pvds)
+ struct dm_list *pvds)
{
struct logical_volume *lvs[MAX_LV];
struct disk_list *dl;
@@ -572,8 +572,8 @@
/* build an index of lv numbers */
memset(lvs, 0, sizeof(lvs));
- list_iterate_items(dl, pvds) {
- list_iterate_items(ll, &dl->lvds) {
+ dm_list_iterate_items(dl, pvds) {
+ dm_list_iterate_items(ll, &dl->lvds) {
lvd = &ll->lvd;
lvnum = lvd->lv_number;
@@ -596,8 +596,8 @@
/*
* Now iterate through yet again adding the snapshots.
*/
- list_iterate_items(dl, pvds) {
- list_iterate_items(ll, &dl->lvds) {
+ dm_list_iterate_items(dl, pvds) {
+ dm_list_iterate_items(ll, &dl->lvds) {
lvd = &ll->lvd;
if (!(lvd->lv_access & LV_SNAPSHOT))
@@ -633,14 +633,14 @@
struct uuid_list *ul;
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (!(ul = dm_pool_alloc(dl->mem, sizeof(*ul))))
return_0;
memset(ul->uuid, 0, sizeof(ul->uuid));
memcpy(ul->uuid, pvl->pv->id.uuid, ID_LEN);
- list_add(&dl->uuids, &ul->list);
+ dm_list_add(&dl->uuids, &ul->list);
}
return 1;
}
@@ -649,32 +649,32 @@
* This calculates the nasty pv_number field
* used by LVM1.
*/
-void export_numbers(struct list *pvds, struct volume_group *vg __attribute((unused)))
+void export_numbers(struct dm_list *pvds, struct volume_group *vg __attribute((unused)))
{
struct disk_list *dl;
int pv_num = 1;
- list_iterate_items(dl, pvds)
+ dm_list_iterate_items(dl, pvds)
dl->pvd.pv_number = pv_num++;
}
/*
* Calculate vg_disk->pv_act.
*/
-void export_pv_act(struct list *pvds)
+void export_pv_act(struct dm_list *pvds)
{
struct disk_list *dl;
int act = 0;
- list_iterate_items(dl, pvds)
+ dm_list_iterate_items(dl, pvds)
if (dl->pvd.pv_status & PV_ACTIVE)
act++;
- list_iterate_items(dl, pvds)
+ dm_list_iterate_items(dl, pvds)
dl->vgd.pv_act = act;
}
-int export_vg_number(struct format_instance *fid, struct list *pvds,
+int export_vg_number(struct format_instance *fid, struct dm_list *pvds,
const char *vg_name, struct dev_filter *filter)
{
struct disk_list *dl;
@@ -683,7 +683,7 @@
if (!get_free_vg_number(fid, filter, vg_name, &vg_num))
return_0;
- list_iterate_items(dl, pvds)
+ dm_list_iterate_items(dl, pvds)
dl->vgd.vg_number = vg_num;
return 1;
--- LVM2/lib/format1/import-extents.c 2008/01/30 13:59:59 1.36
+++ LVM2/lib/format1/import-extents.c 2008/11/03 22:14:28 1.37
@@ -55,7 +55,7 @@
return NULL;
}
- list_iterate_items(ll, &vg->lvs) {
+ dm_list_iterate_items(ll, &vg->lvs) {
if (ll->lv->status & SNAPSHOT)
continue;
@@ -86,7 +86,7 @@
memset(lvs, 0, sizeof(*lvs) * MAX_LV);
- list_iterate_items(ll, &dl->lvds) {
+ dm_list_iterate_items(ll, &dl->lvds) {
if (!(lvm = dm_hash_lookup(maps, strrchr((char *)ll->lvd.lv_name, '/')
+ 1))) {
log_err("Physical volume (%s) contains an "
@@ -105,7 +105,7 @@
}
static int _fill_maps(struct dm_hash_table *maps, struct volume_group *vg,
- struct list *pvds)
+ struct dm_list *pvds)
{
struct disk_list *dl;
struct physical_volume *pv;
@@ -113,7 +113,7 @@
struct pe_disk *e;
uint32_t i, lv_num, le;
- list_iterate_items(dl, pvds) {
+ dm_list_iterate_items(dl, pvds) {
pv = find_pv(vg, dl->dev);
e = dl->extents;
@@ -228,7 +228,7 @@
lvm->map[le].pe))
return_0;
- list_add(&lvm->lv->segments, &seg->list);
+ dm_list_add(&lvm->lv->segments, &seg->list);
le += seg->len;
}
@@ -307,7 +307,7 @@
lvm->map[first_area_le + st * total_area_len].pe))
return_0;
- list_add(&lvm->lv->segments, &seg->list);
+ dm_list_add(&lvm->lv->segments, &seg->list);
first_area_le += area_len;
}
@@ -336,7 +336,7 @@
}
int import_extents(struct cmd_context *cmd, struct volume_group *vg,
- struct list *pvds)
+ struct dm_list *pvds)
{
int r = 0;
struct dm_pool *scratch = dm_pool_create("lvm1 import_extents", 10 * 1024);
--- LVM2/lib/format1/lvm1-label.c 2008/02/06 15:47:27 1.19
+++ LVM2/lib/format1/lvm1-label.c 2008/11/03 22:14:28 1.20
@@ -80,7 +80,7 @@
*label = info->label;
info->device_size = xlate32(pvd->pv_size) << SECTOR_SHIFT;
- list_init(&info->mdas);
+ dm_list_init(&info->mdas);
info->status &= ~CACHE_INVALID;
--- LVM2/lib/format1/vg_number.c 2008/01/30 13:59:59 1.15
+++ LVM2/lib/format1/vg_number.c 2008/11/03 22:14:28 1.16
@@ -26,12 +26,12 @@
int get_free_vg_number(struct format_instance *fid, struct dev_filter *filter,
const char *candidate_vg, int *result)
{
- struct list all_pvs;
+ struct dm_list all_pvs;
struct disk_list *dl;
struct dm_pool *mem = dm_pool_create("lvm1 vg_number", 10 * 1024);
int numbers[MAX_VG], i, r = 0;
- list_init(&all_pvs);
+ dm_list_init(&all_pvs);
if (!mem)
return_0;
@@ -41,7 +41,7 @@
memset(numbers, 0, sizeof(numbers));
- list_iterate_items(dl, &all_pvs) {
+ dm_list_iterate_items(dl, &all_pvs) {
if (!*dl->pvd.vg_name || !strcmp((char *)dl->pvd.vg_name, candidate_vg))
continue;
--- LVM2/lib/format_pool/Makefile.in 2007/09/21 10:16:44 1.5
+++ LVM2/lib/format_pool/Makefile.in 2008/11/03 22:14:28 1.6
@@ -23,6 +23,7 @@
pool_label.c
LIB_SHARED = liblvm2formatpool.so
+LIB_VERSION = $(LIB_VERSION_LVM)
include $(top_srcdir)/make.tmpl
--- LVM2/lib/format_pool/disk_rep.c 2008/01/30 13:59:59 1.13
+++ LVM2/lib/format_pool/disk_rep.c 2008/11/03 22:14:28 1.14
@@ -51,11 +51,11 @@
return 1;
}
-static void _add_pl_to_list(struct list *head, struct pool_list *data)
+static void _add_pl_to_list(struct dm_list *head, struct pool_list *data)
{
struct pool_list *pl;
- list_iterate_items(pl, head) {
+ dm_list_iterate_items(pl, head) {
if (id_equal(&data->pv_uuid, &pl->pv_uuid)) {
char uuid[ID_LEN + 7] __attribute((aligned(8)));
@@ -69,11 +69,11 @@
}
log_very_verbose("Duplicate PV %s - using md %s",
uuid, dev_name(data->dev));
- list_del(&pl->list);
+ dm_list_del(&pl->list);
break;
}
}
- list_add(head, &data->list);
+ dm_list_add(head, &data->list);
}
int read_pool_label(struct pool_list *pl, struct labeller *l,
@@ -102,7 +102,7 @@
*label = info->label;
info->device_size = xlate32_be(pd->pl_blocks) << SECTOR_SHIFT;
- list_init(&info->mdas);
+ dm_list_init(&info->mdas);
info->status &= ~CACHE_INVALID;
@@ -235,7 +235,7 @@
}
static int _read_vg_pds(const struct format_type *fmt, struct dm_pool *mem,
- struct lvmcache_vginfo *vginfo, struct list *head,
+ struct lvmcache_vginfo *vginfo, struct dm_list *head,
uint32_t *devcount)
{
struct lvmcache_info *info;
@@ -251,7 +251,7 @@
if (!(tmpmem = dm_pool_create("pool read_vg", 512)))
return_0;
- list_iterate_items(info, &vginfo->infos) {
+ dm_list_iterate_items(info, &vginfo->infos) {
if (info->dev &&
!(pl = read_pool_disk(fmt, info->dev, mem, vginfo->vgname)))
break;
@@ -298,7 +298,7 @@
}
int read_pool_pds(const struct format_type *fmt, const char *vg_name,
- struct dm_pool *mem, struct list *pdhead)
+ struct dm_pool *mem, struct dm_list *pdhead)
{
struct lvmcache_vginfo *vginfo;
uint32_t totaldevs;
@@ -316,7 +316,7 @@
* If we found all the devices we were
* expecting, return success
*/
- if (list_size(pdhead) == totaldevs)
+ if (dm_list_size(pdhead) == totaldevs)
return 1;
/*
@@ -328,7 +328,7 @@
}
}
/* Failed */
- list_init(pdhead);
+ dm_list_init(pdhead);
full_scan++;
if (full_scan > 1) {
--- LVM2/lib/format_pool/disk_rep.h 2007/08/20 20:55:25 1.6
+++ LVM2/lib/format_pool/disk_rep.h 2008/11/03 22:14:28 1.7
@@ -106,7 +106,7 @@
};
struct pool_list {
- struct list list;
+ struct dm_list list;
struct pool_disk pd;
struct physical_volume *pv;
struct id pv_uuid;
@@ -137,18 +137,18 @@
void pool_label_out(struct pool_disk *pl, void *buf);
void pool_label_in(struct pool_disk *pl, void *buf);
void get_pool_uuid(char *uuid, uint64_t poolid, uint32_t spid, uint32_t devid);
-int import_pool_vg(struct volume_group *vg, struct dm_pool *mem, struct list *pls);
+int import_pool_vg(struct volume_group *vg, struct dm_pool *mem, struct dm_list *pls);
int import_pool_lvs(struct volume_group *vg, struct dm_pool *mem,
- struct list *pls);
+ struct dm_list *pls);
int import_pool_pvs(const struct format_type *fmt, struct volume_group *vg,
- struct list *pvs, struct dm_pool *mem, struct list *pls);
+ struct dm_list *pvs, struct dm_pool *mem, struct dm_list *pls);
int import_pool_pv(const struct format_type *fmt, struct dm_pool *mem,
struct volume_group *vg, struct physical_volume *pv,
struct pool_list *pl);
-int import_pool_segments(struct list *lvs, struct dm_pool *mem,
+int import_pool_segments(struct dm_list *lvs, struct dm_pool *mem,
struct user_subpool *usp, int sp_count);
int read_pool_pds(const struct format_type *fmt, const char *vgname,
- struct dm_pool *mem, struct list *head);
+ struct dm_pool *mem, struct dm_list *head);
struct pool_list *read_pool_disk(const struct format_type *fmt,
struct device *dev, struct dm_pool *mem,
const char *vg_name);
--- LVM2/lib/format_pool/format_pool.c 2008/06/11 13:14:41 1.17
+++ LVM2/lib/format_pool/format_pool.c 2008/11/03 22:14:28 1.18
@@ -25,7 +25,7 @@
#include "pool_label.h"
/* Must be called after pvs are imported */
-static struct user_subpool *_build_usp(struct list *pls, struct dm_pool *mem,
+static struct user_subpool *_build_usp(struct dm_list *pls, struct dm_pool *mem,
int *sps)
{
struct pool_list *pl;
@@ -36,7 +36,7 @@
* FIXME: Need to do some checks here - I'm tempted to add a
* user_pool structure and build the entire thing to check against.
*/
- list_iterate_items(pl, pls) {
+ dm_list_iterate_items(pl, pls) {
*sps = pl->pd.pl_subpools;
if (!usp && (!(usp = dm_pool_zalloc(mem, sizeof(*usp) * (*sps))))) {
log_error("Unable to allocate %d subpool structures",
@@ -100,7 +100,7 @@
static struct volume_group *_build_vg_from_pds(struct format_instance
*fid, struct dm_pool *mem,
- struct list *pds)
+ struct dm_list *pds)
{
struct dm_pool *smem = fid->fmt->cmd->mem;
struct volume_group *vg = NULL;
@@ -122,9 +122,9 @@
vg->snapshot_count = 0;
vg->seqno = 1;
vg->system_id = NULL;
- list_init(&vg->pvs);
- list_init(&vg->lvs);
- list_init(&vg->tags);
+ dm_list_init(&vg->pvs);
+ dm_list_init(&vg->lvs);
+ dm_list_init(&vg->tags);
if (!import_pool_vg(vg, smem, pds))
return_NULL;
@@ -161,10 +161,10 @@
struct metadata_area *mda __attribute((unused)))
{
struct dm_pool *mem = dm_pool_create("pool vg_read", 1024);
- struct list pds;
+ struct dm_list pds;
struct volume_group *vg = NULL;
- list_init(&pds);
+ dm_list_init(&pds);
/* We can safely ignore the mda passed in */
@@ -193,7 +193,7 @@
uint32_t extent_size __attribute((unused)),
int pvmetadatacopies __attribute((unused)),
uint64_t pvmetadatasize __attribute((unused)),
- struct list *mdas __attribute((unused)),
+ struct dm_list *mdas __attribute((unused)),
struct physical_volume *pv __attribute((unused)),
struct volume_group *vg __attribute((unused)))
{
@@ -202,7 +202,7 @@
static int _pool_pv_read(const struct format_type *fmt, const char *pv_name,
struct physical_volume *pv,
- struct list *mdas __attribute((unused)))
+ struct dm_list *mdas __attribute((unused)))
{
struct dm_pool *mem = dm_pool_create("pool pv_read", 1024);
struct pool_list *pl;
@@ -258,7 +258,7 @@
}
fid->fmt = fmt;
- list_init(&fid->metadata_areas);
+ dm_list_init(&fid->metadata_areas);
/* Define a NULL metadata area */
if (!(mda = dm_pool_zalloc(fmt->cmd->mem, sizeof(*mda)))) {
@@ -270,7 +270,7 @@
mda->ops = &_metadata_format_pool_ops;
mda->metadata_locn = NULL;
- list_add(&fid->metadata_areas, &mda->list);
+ dm_list_add(&fid->metadata_areas, &mda->list);
return fid;
}
--- LVM2/lib/format_pool/import_export.c 2008/09/19 04:27:26 1.24
+++ LVM2/lib/format_pool/import_export.c 2008/11/03 22:14:28 1.25
@@ -28,11 +28,11 @@
/* This file contains only imports at the moment... */
-int import_pool_vg(struct volume_group *vg, struct dm_pool *mem, struct list *pls)
+int import_pool_vg(struct volume_group *vg, struct dm_pool *mem, struct dm_list *pls)
{
struct pool_list *pl;
- list_iterate_items(pl, pls) {
+ dm_list_iterate_items(pl, pls) {
vg->extent_count +=
((pl->pd.pl_blocks) / POOL_PE_SIZE);
@@ -55,7 +55,7 @@
return 1;
}
-int import_pool_lvs(struct volume_group *vg, struct dm_pool *mem, struct list *pls)
+int import_pool_lvs(struct volume_group *vg, struct dm_pool *mem, struct dm_list *pls)
{
struct pool_list *pl;
struct lv_list *lvl = dm_pool_zalloc(mem, sizeof(*lvl));
@@ -80,12 +80,12 @@
lv->le_count = 0;
lv->read_ahead = vg->cmd->default_settings.read_ahead;
lv->snapshot = NULL;
- list_init(&lv->snapshot_segs);
- list_init(&lv->segments);
- list_init(&lv->tags);
- list_init(&lv->segs_using_this_lv);
+ dm_list_init(&lv->snapshot_segs);
+ dm_list_init(&lv->segments);
+ dm_list_init(&lv->tags);
+ dm_list_init(&lv->segs_using_this_lv);
- list_iterate_items(pl, pls) {
+ dm_list_iterate_items(pl, pls) {
lv->size += pl->pd.pl_blocks;
if (lv->name)
@@ -109,26 +109,26 @@
lv->minor = -1;
}
lv->snapshot = NULL;
- list_init(&lv->snapshot_segs);
- list_init(&lv->segments);
- list_init(&lv->tags);
+ dm_list_init(&lv->snapshot_segs);
+ dm_list_init(&lv->segments);
+ dm_list_init(&lv->tags);
}
lv->le_count = lv->size / POOL_PE_SIZE;
lvl->lv = lv;
- list_add(&vg->lvs, &lvl->list);
+ dm_list_add(&vg->lvs, &lvl->list);
vg->lv_count++;
return 1;
}
int import_pool_pvs(const struct format_type *fmt, struct volume_group *vg,
- struct list *pvs, struct dm_pool *mem, struct list *pls)
+ struct dm_list *pvs, struct dm_pool *mem, struct dm_list *pls)
{
struct pv_list *pvl;
struct pool_list *pl;
- list_iterate_items(pl, pls) {
+ dm_list_iterate_items(pl, pls) {
if (!(pvl = dm_pool_zalloc(mem, sizeof(*pvl)))) {
log_error("Unable to allocate pv list structure");
return 0;
@@ -143,7 +143,7 @@
pl->pv = pvl->pv;
pvl->mdas = NULL;
pvl->pe_ranges = NULL;
- list_add(pvs, &pvl->list);
+ dm_list_add(pvs, &pvl->list);
}
return 1;
@@ -175,8 +175,8 @@
pv->pe_alloc_count = 0;
pv->pe_align = 0;
- list_init(&pv->tags);
- list_init(&pv->segments);
+ dm_list_init(&pv->tags);
+ dm_list_init(&pv->segments);
if (!alloc_pv_segment_whole_pv(mem, pv))
return_0;
@@ -232,7 +232,7 @@
/* add the subpool type to the segment tag list */
str_list_add(mem, &seg->tags, _cvt_sptype(usp->type));
- list_add(&lv->segments, &seg->list);
+ dm_list_add(&lv->segments, &seg->list);
*le_cur += seg->len;
@@ -268,7 +268,7 @@
if (!set_lv_segment_area_pv(seg, 0, usp->devs[j].pv, 0))
return_0;
- list_add(&lv->segments, &seg->list);
+ dm_list_add(&lv->segments, &seg->list);
*le_cur += seg->len;
}
@@ -276,7 +276,7 @@
return 1;
}
-int import_pool_segments(struct list *lvs, struct dm_pool *mem,
+int import_pool_segments(struct dm_list *lvs, struct dm_pool *mem,
struct user_subpool *usp, int subpools)
{
struct lv_list *lvl;
@@ -284,7 +284,7 @@
uint32_t le_cur = 0;
int i;
- list_iterate_items(lvl, lvs) {
+ dm_list_iterate_items(lvl, lvs) {
lv = lvl->lv;
if (lv->status & SNAPSHOT)
--- LVM2/lib/format_text/archive.c 2008/01/30 13:59:59 1.31
+++ LVM2/lib/format_text/archive.c 2008/11/03 22:14:28 1.32
@@ -48,7 +48,7 @@
* with the least recent at the head.
*/
struct archive_file {
- struct list list;
+ struct dm_list list;
char *path;
uint32_t index;
@@ -87,24 +87,24 @@
return 1;
}
-static void _insert_archive_file(struct list *head, struct archive_file *b)
+static void _insert_archive_file(struct dm_list *head, struct archive_file *b)
{
struct archive_file *bf = NULL;
- if (list_empty(head)) {
- list_add(head, &b->list);
+ if (dm_list_empty(head)) {
+ dm_list_add(head, &b->list);
return;
}
/* index reduces through list */
- list_iterate_items(bf, head) {
+ dm_list_iterate_items(bf, head) {
if (b->index > bf->index) {
- list_add(&bf->list, &b->list);
+ dm_list_add(&bf->list, &b->list);
return;
}
}
- list_add_h(&bf->list, &b->list);
+ dm_list_add_h(&bf->list, &b->list);
}
static char *_join_file_to_dir(struct dm_pool *mem, const char *dir, const char *name)
@@ -122,7 +122,7 @@
/*
* Returns a list of archive_files.
*/
-static struct list *_scan_archive(struct dm_pool *mem,
+static struct dm_list *_scan_archive(struct dm_pool *mem,
const char *vgname, const char *dir)
{
int i, count;
@@ -130,12 +130,12 @@
char vgname_found[64], *path;
struct dirent **dirent;
struct archive_file *af;
- struct list *results;
+ struct dm_list *results;
if (!(results = dm_pool_alloc(mem, sizeof(*results))))
return_NULL;
- list_init(results);
+ dm_list_init(results);
/* Sort fails beyond 5-digit indexes */
if ((count = scandir(dir, &dirent, NULL, alphasort)) < 0) {
@@ -186,7 +186,7 @@
return results;
}
-static void _remove_expired(struct list *archives, uint32_t archives_size,
+static void _remove_expired(struct dm_list *archives, uint32_t archives_size,
uint32_t retain_days, uint32_t min_archive)
{
struct archive_file *bf;
@@ -202,7 +202,7 @@
retain_time = time(NULL) - (time_t) retain_days *SECS_PER_DAY;
/* Assume list is ordered newest first (by index) */
- list_iterate_back_items(bf, archives) {
+ dm_list_iterate_back_items(bf, archives) {
/* Get the mtime of the file and unlink if too old */
if (stat(bf->path, &sb)) {
log_sys_error("stat", bf->path);
@@ -231,7 +231,7 @@
struct archive_file *last;
FILE *fp = NULL;
char temp_file[PATH_MAX], archive_name[PATH_MAX];
- struct list *archives;
+ struct dm_list *archives;
/*
* Write the vg out to a temporary file.
@@ -263,10 +263,10 @@
if (!(archives = _scan_archive(vg->cmd->mem, vg->name, dir)))
return_0;
- if (list_empty(archives))
+ if (dm_list_empty(archives))
ix = 0;
else {
- last = list_item(list_first(archives), struct archive_file);
+ last = dm_list_item(dm_list_first(archives), struct archive_file);
ix = last->index + 1;
}
@@ -286,7 +286,7 @@
if (!renamed)
log_error("Archive rename failed for %s", temp_file);
- _remove_expired(archives, list_size(archives) + renamed, retain_days,
+ _remove_expired(archives, dm_list_size(archives) + renamed, retain_days,
min_archive);
return 1;
@@ -331,16 +331,16 @@
int archive_list(struct cmd_context *cmd, const char *dir, const char *vgname)
{
- struct list *archives;
+ struct dm_list *archives;
struct archive_file *af;
if (!(archives = _scan_archive(cmd->mem, vgname, dir)))
return_0;
- if (list_empty(archives))
+ if (dm_list_empty(archives))
log_print("No archives found in %s.", dir);
- list_iterate_back_items(af, archives)
+ dm_list_iterate_back_items(af, archives)
_display_archive(cmd, af);
dm_pool_free(cmd->mem, archives);
--- LVM2/lib/format_text/archiver.c 2008/09/19 06:41:58 1.14
+++ LVM2/lib/format_text/archiver.c 2008/11/03 22:14:28 1.15
@@ -261,7 +261,7 @@
return NULL;
}
- list_iterate_items(mda, &tf->metadata_areas) {
+ dm_list_iterate_items(mda, &tf->metadata_areas) {
if (!(vg = mda->ops->vg_read(tf, vg_name, mda)))
stack;
break;
@@ -291,7 +291,7 @@
}
/* Add any metadata areas on the PVs */
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
if (!(info = info_from_pvid(pv->dev->pvid, 0))) {
log_error("PV %s missing from cache",
@@ -366,7 +366,7 @@
}
/* Write and commit the metadata area */
- list_iterate_items(mda, &tf->metadata_areas) {
+ dm_list_iterate_items(mda, &tf->metadata_areas) {
if (!(r = mda->ops->vg_write(tf, vg, mda))) {
stack;
continue;
--- LVM2/lib/format_text/export.c 2008/07/10 11:30:57 1.64
+++ LVM2/lib/format_text/export.c 2008/11/03 22:14:28 1.65
@@ -349,7 +349,7 @@
if (!_print_flag_config(f, vg->status, VG_FLAGS))
return_0;
- if (!list_empty(&vg->tags)) {
+ if (!dm_list_empty(&vg->tags)) {
if (!print_tags(&vg->tags, buffer, sizeof(buffer)))
return_0;
outf(f, "tags = %s", buffer);
@@ -395,7 +395,7 @@
outf(f, "physical_volumes {");
_inc_indent(f);
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
if (!(name = _get_pv_name(f, pv)))
@@ -424,7 +424,7 @@
if (!_print_flag_config(f, pv->status, PV_FLAGS))
return_0;
- if (!list_empty(&pv->tags)) {
+ if (!dm_list_empty(&pv->tags)) {
if (!print_tags(&pv->tags, buffer, sizeof(buffer)))
return_0;
outf(f, "tags = %s", buffer);
@@ -463,7 +463,7 @@
outnl(f);
outf(f, "type = \"%s\"", seg->segtype->name);
- if (!list_empty(&seg->tags)) {
+ if (!dm_list_empty(&seg->tags)) {
if (!print_tags(&seg->tags, buffer, sizeof(buffer)))
return_0;
outf(f, "tags = %s", buffer);
@@ -535,7 +535,7 @@
if (!_print_flag_config(f, lv->status, LV_FLAGS))
return_0;
- if (!list_empty(&lv->tags)) {
+ if (!dm_list_empty(&lv->tags)) {
if (!print_tags(&lv->tags, buffer, sizeof(buffer)))
return_0;
outf(f, "tags = %s", buffer);
@@ -560,11 +560,11 @@
outf(f, "major = %d", lv->major);
if (lv->minor >= 0)
outf(f, "minor = %d", lv->minor);
- outf(f, "segment_count = %u", list_size(&lv->segments));
+ outf(f, "segment_count = %u", dm_list_size(&lv->segments));
outnl(f);
seg_count = 1;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!_print_segment(f, lv->vg, seg_count++, seg))
return_0;
}
@@ -582,7 +582,7 @@
/*
* Don't bother with an lv section if there are no lvs.
*/
- if (list_empty(&vg->lvs))
+ if (dm_list_empty(&vg->lvs))
return 1;
outf(f, "logical_volumes {");
@@ -591,14 +591,14 @@
/*
* Write visible LVs first
*/
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (!(lvl->lv->status & VISIBLE_LV))
continue;
if (!_print_lv(f, lvl->lv))
return_0;
}
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if ((lvl->lv->status & VISIBLE_LV))
continue;
if (!_print_lv(f, lvl->lv))
@@ -629,7 +629,7 @@
if (!(f->pv_names = dm_hash_create(128)))
return_0;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
/* FIXME But skip if there's already an LV called pv%d ! */
--- LVM2/lib/format_text/format-text.c 2008/10/17 00:55:46 1.97
+++ LVM2/lib/format_text/format-text.c 2008/11/03 22:14:28 1.98
@@ -50,12 +50,12 @@
};
struct dir_list {
- struct list list;
+ struct dm_list list;
char dir[0];
};
struct raw_list {
- struct list list;
+ struct dm_list list;
struct device_area dev_area;
};
@@ -96,7 +96,7 @@
struct mda_context *mdac = (struct mda_context *) mda->metadata_locn;
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs)
+ dm_list_iterate_items(pvl, &vg->pvs)
if (pvl->pv->dev == mdac->area.dev)
return 1;
@@ -518,7 +518,7 @@
int noprecommit = 0;
/* Ignore any mda on a PV outside the VG. vgsplit relies on this */
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (pvl->pv->dev == mdac->area.dev) {
found = 1;
break;
@@ -626,7 +626,7 @@
int noprecommit = 0;
/* Ignore any mda on a PV outside the VG. vgsplit relies on this */
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (pvl->pv->dev == mdac->area.dev) {
found = 1;
break;
@@ -718,7 +718,7 @@
int found = 0;
/* Ignore any mda on a PV outside the VG. vgsplit relies on this */
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (pvl->pv->dev == mdac->area.dev) {
found = 1;
break;
@@ -981,7 +981,7 @@
{
struct dirent *dirent;
struct dir_list *dl;
- struct list *dir_list;
+ struct dm_list *dir_list;
char *tmp;
DIR *d;
struct volume_group *vg;
@@ -991,7 +991,7 @@
dir_list = &((struct mda_lists *) fmt->private)->dirs;
- list_iterate_items(dl, dir_list) {
+ dm_list_iterate_items(dl, dir_list) {
if (!(d = opendir(dl->dir))) {
log_sys_error("opendir", dl->dir);
continue;
@@ -1126,7 +1126,7 @@
static int _scan_raw(const struct format_type *fmt)
{
struct raw_list *rl;
- struct list *raw_list;
+ struct dm_list *raw_list;
const char *vgname;
struct volume_group *vg;
struct format_instance fid;
@@ -1136,9 +1136,9 @@
raw_list = &((struct mda_lists *) fmt->private)->raws;
fid.fmt = fmt;
- list_init(&fid.metadata_areas);
+ dm_list_init(&fid.metadata_areas);
- list_iterate_items(rl, raw_list) {
+ dm_list_iterate_items(rl, raw_list) {
/* FIXME We're reading mdah twice here... */
if ((vgname = vgname_from_mda(fmt, &rl->dev_area, &vgid, &vgstatus,
NULL, NULL))) {
@@ -1161,7 +1161,7 @@
static int _mda_setup(const struct format_type *fmt,
uint64_t pe_start, uint64_t pe_end,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list *mdas,
+ uint64_t pvmetadatasize, struct dm_list *mdas,
struct physical_volume *pv,
struct volume_group *vg __attribute((unused)))
{
@@ -1289,7 +1289,7 @@
/* Only for orphans */
/* Set label_sector to -1 if rewriting existing label into same sector */
static int _text_pv_write(const struct format_type *fmt, struct physical_volume *pv,
- struct list *mdas, int64_t label_sector)
+ struct dm_list *mdas, int64_t label_sector)
{
struct label *label;
struct lvmcache_info *info;
@@ -1318,8 +1318,8 @@
if (info->mdas.n)
del_mdas(&info->mdas);
else
- list_init(&info->mdas);
- list_iterate_items(mda, mdas) {
+ dm_list_init(&info->mdas);
+ dm_list_iterate_items(mda, mdas) {
mdac = mda->metadata_locn;
log_debug("Creating metadata area on %s at sector %"
PRIu64 " size %" PRIu64 " sectors",
@@ -1331,18 +1331,18 @@
}
/* FIXME Temporary until mda creation supported by tools */
} else if (!info->mdas.n) {
- list_init(&info->mdas);
+ dm_list_init(&info->mdas);
}
if (info->das.n)
del_das(&info->das);
else
- list_init(&info->das);
+ dm_list_init(&info->das);
/* Set pe_start to first aligned sector after any metadata
* areas that begin before pe_start */
pv->pe_start = pe_align(pv);
- list_iterate_items(mda, &info->mdas) {
+ dm_list_iterate_items(mda, &info->mdas) {
mdac = (struct mda_context *) mda->metadata_locn;
if (pv->dev == mdac->area.dev &&
(mdac->area.start <= (pv->pe_start << SECTOR_SHIFT)) &&
@@ -1362,7 +1362,7 @@
if (!dev_open(pv->dev))
return_0;
- list_iterate_items(mda, &info->mdas) {
+ dm_list_iterate_items(mda, &info->mdas) {
mdac = mda->metadata_locn;
memset(&buf, 0, sizeof(buf));
mdah->size = mdac->area.size;
@@ -1385,12 +1385,12 @@
return 1;
}
-static int _add_raw(struct list *raw_list, struct device_area *dev_area)
+static int _add_raw(struct dm_list *raw_list, struct device_area *dev_area)
{
struct raw_list *rl;
/* Already present? */
- list_iterate_items(rl, raw_list) {
+ dm_list_iterate_items(rl, raw_list) {
/* FIXME Check size/overlap consistency too */
if (rl->dev_area.dev == dev_area->dev &&
rl->dev_area.start == dev_area->start)
@@ -1402,7 +1402,7 @@
return 0;
}
memcpy(&rl->dev_area, dev_area, sizeof(*dev_area));
- list_add(raw_list, &rl->list);
+ dm_list_add(raw_list, &rl->list);
return 1;
}
@@ -1444,20 +1444,20 @@
memcpy(&pv->id, &info->dev->pvid, sizeof(pv->id));
/* Currently only support exactly one data area */
- if (list_size(&info->das) != 1) {
+ if (dm_list_size(&info->das) != 1) {
log_error("Must be exactly one data area (found %d) on PV %s",
- list_size(&info->das), dev_name(info->dev));
+ dm_list_size(&info->das), dev_name(info->dev));
return 0;
}
- list_iterate_items(da, &info->das)
+ dm_list_iterate_items(da, &info->das)
pv->pe_start = da->disk_locn.offset >> SECTOR_SHIFT;
return 1;
}
static int _text_pv_read(const struct format_type *fmt, const char *pv_name,
- struct physical_volume *pv, struct list *mdas)
+ struct physical_volume *pv, struct dm_list *mdas)
{
struct label *label;
struct device *dev;
@@ -1479,7 +1479,7 @@
return 1;
/* Add copy of mdas to supplied list */
- list_iterate_items(mda, &info->mdas) {
+ dm_list_iterate_items(mda, &info->mdas) {
mdac = (struct mda_context *) mda->metadata_locn;
if (!(mda_new = dm_pool_alloc(fmt->cmd->mem, sizeof(*mda_new)))) {
log_error("metadata_area allocation failed");
@@ -1492,7 +1492,7 @@
memcpy(mda_new, mda, sizeof(*mda));
memcpy(mdac_new, mdac, sizeof(*mdac));
mda_new->metadata_locn = mdac_new;
- list_add(mdas, &mda_new->list);
+ dm_list_add(mdas, &mda_new->list);
}
return 1;
@@ -1503,22 +1503,22 @@
return;
}
-static void _free_dirs(struct list *dir_list)
+static void _free_dirs(struct dm_list *dir_list)
{
- struct list *dl, *tmp;
+ struct dm_list *dl, *tmp;
- list_iterate_safe(dl, tmp, dir_list) {
- list_del(dl);
+ dm_list_iterate_safe(dl, tmp, dir_list) {
+ dm_list_del(dl);
dm_free(dl);
}
}
-static void _free_raws(struct list *raw_list)
+static void _free_raws(struct dm_list *raw_list)
{
- struct list *rl, *tmp;
+ struct dm_list *rl, *tmp;
- list_iterate_safe(rl, tmp, raw_list) {
- list_del(rl);
+ dm_list_iterate_safe(rl, tmp, raw_list) {
+ dm_list_del(rl);
dm_free(rl);
}
}
@@ -1567,12 +1567,12 @@
uint64_t pe_start, uint32_t extent_count,
uint32_t extent_size,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list *mdas,
+ uint64_t pvmetadatasize, struct dm_list *mdas,
struct physical_volume *pv, struct volume_group *vg)
{
struct metadata_area *mda, *mda_new, *mda2;
struct mda_context *mdac, *mdac_new, *mdac2;
- struct list *pvmdas;
+ struct dm_list *pvmdas;
struct lvmcache_info *info;
int found;
uint64_t pe_end = 0;
@@ -1588,7 +1588,7 @@
/* Iterate through all mdas on this PV */
if ((info = info_from_pvid(pv->dev->pvid, 0))) {
pvmdas = &info->mdas;
- list_iterate_items(mda, pvmdas) {
+ dm_list_iterate_items(mda, pvmdas) {
mda_count++;
mdac =
(struct mda_context *) mda->metadata_locn;
@@ -1601,7 +1601,7 @@
/* Ensure it isn't already on list */
found = 0;
- list_iterate_items(mda2, mdas) {
+ dm_list_iterate_items(mda2, mdas) {
if (mda2->ops !=
&_metadata_text_raw_ops) continue;
mdac2 =
@@ -1628,7 +1628,7 @@
memcpy(mda_new, mda, sizeof(*mda));
memcpy(mdac_new, mdac, sizeof(*mdac));
mda_new->metadata_locn = mdac_new;
- list_add(mdas, &mda_new->list);
+ dm_list_add(mdas, &mda_new->list);
}
}
@@ -1678,7 +1678,7 @@
struct mda_context *mdac, *mdac_new;
struct dir_list *dl;
struct raw_list *rl;
- struct list *dir_list, *raw_list, *mdas;
+ struct dm_list *dir_list, *raw_list, *mdas;
char path[PATH_MAX];
struct lvmcache_vginfo *vginfo;
struct lvmcache_info *info;
@@ -1698,18 +1698,18 @@
fid->private = (void *) fidtc;
fid->fmt = fmt;
- list_init(&fid->metadata_areas);
+ dm_list_init(&fid->metadata_areas);
if (!vgname) {
if (!(mda = dm_pool_alloc(fmt->cmd->mem, sizeof(*mda))))
return_NULL;
mda->ops = &_metadata_text_file_backup_ops;
mda->metadata_locn = context;
- list_add(&fid->metadata_areas, &mda->list);
+ dm_list_add(&fid->metadata_areas, &mda->list);
} else {
dir_list = &((struct mda_lists *) fmt->private)->dirs;
- list_iterate_items(dl, dir_list) {
+ dm_list_iterate_items(dl, dir_list) {
if (dm_snprintf(path, PATH_MAX, "%s/%s",
dl->dir, vgname) < 0) {
log_error("Name too long %s/%s", dl->dir,
@@ -1722,12 +1722,12 @@
return_NULL;
mda->ops = &_metadata_text_file_ops;
mda->metadata_locn = context;
- list_add(&fid->metadata_areas, &mda->list);
+ dm_list_add(&fid->metadata_areas, &mda->list);
}
raw_list = &((struct mda_lists *) fmt->private)->raws;
- list_iterate_items(rl, raw_list) {
+ dm_list_iterate_items(rl, raw_list) {
/* FIXME Cache this; rescan below if some missing */
if (!_raw_holds_vgname(fid, &rl->dev_area, vgname))
continue;
@@ -1742,16 +1742,16 @@
memcpy(&mdac->area, &rl->dev_area, sizeof(mdac->area));
mda->ops = &_metadata_text_raw_ops;
/* FIXME MISTAKE? mda->metadata_locn = context; */
- list_add(&fid->metadata_areas, &mda->list);
+ dm_list_add(&fid->metadata_areas, &mda->list);
}
/* Scan PVs in VG for any further MDAs */
lvmcache_label_scan(fmt->cmd, 0);
if (!(vginfo = vginfo_from_vgname(vgname, vgid)))
goto_out;
- list_iterate_items(info, &vginfo->infos) {
+ dm_list_iterate_items(info, &vginfo->infos) {
mdas = &info->mdas;
- list_iterate_items(mda, mdas) {
+ dm_list_iterate_items(mda, mdas) {
mdac =
(struct mda_context *) mda->metadata_locn;
@@ -1767,7 +1767,7 @@
memcpy(mda_new, mda, sizeof(*mda));
memcpy(mdac_new, mdac, sizeof(*mdac));
mda_new->metadata_locn = mdac_new;
- list_add(&fid->metadata_areas, &mda_new->list);
+ dm_list_add(&fid->metadata_areas, &mda_new->list);
}
}
/* FIXME Check raw metadata area count - rescan if required */
@@ -1827,18 +1827,18 @@
.destroy = _text_destroy
};
-static int _add_dir(const char *dir, struct list *dir_list)
+static int _add_dir(const char *dir, struct dm_list *dir_list)
{
struct dir_list *dl;
if (dm_create_dir(dir)) {
- if (!(dl = dm_malloc(sizeof(struct list) + strlen(dir) + 1))) {
+ if (!(dl = dm_malloc(sizeof(struct dm_list) + strlen(dir) + 1))) {
log_error("_add_dir allocation failed");
return 0;
}
log_very_verbose("Adding text format metadata dir: %s", dir);
strcpy(dl->dir, dir);
- list_add(dir_list, &dl->list);
+ dm_list_add(dir_list, &dl->list);
return 1;
}
@@ -1846,7 +1846,7 @@
}
static int _get_config_disk_area(struct cmd_context *cmd,
- struct config_node *cn, struct list *raw_list)
+ struct config_node *cn, struct dm_list *raw_list)
{
struct device_area dev_area;
char *id_str;
@@ -1922,8 +1922,8 @@
return NULL;
}
- list_init(&mda_lists->dirs);
- list_init(&mda_lists->raws);
+ dm_list_init(&mda_lists->dirs);
+ dm_list_init(&mda_lists->raws);
mda_lists->file_ops = &_metadata_text_file_ops;
mda_lists->raw_ops = &_metadata_text_raw_ops;
fmt->private = (void *) mda_lists;
--- LVM2/lib/format_text/format-text.h 2008/02/06 15:47:27 1.24
+++ LVM2/lib/format_text/format-text.h 2008/11/03 22:14:28 1.25
@@ -51,13 +51,13 @@
int pvhdr_read(struct device *dev, char *buf);
-int add_da(struct dm_pool *mem, struct list *das,
+int add_da(struct dm_pool *mem, struct dm_list *das,
uint64_t start, uint64_t size);
-void del_das(struct list *das);
+void del_das(struct dm_list *das);
-int add_mda(const struct format_type *fmt, struct dm_pool *mem, struct list *mdas,
+int add_mda(const struct format_type *fmt, struct dm_pool *mem, struct dm_list *mdas,
struct device *dev, uint64_t start, uint64_t size);
-void del_mdas(struct list *mdas);
+void del_mdas(struct dm_list *mdas);
const char *vgname_from_mda(const struct format_type *fmt,
struct device_area *dev_area, struct id *vgid,
--- LVM2/lib/format_text/import-export.h 2008/07/10 11:30:57 1.21
+++ LVM2/lib/format_text/import-export.h 2008/11/03 22:14:28 1.22
@@ -60,8 +60,8 @@
int print_flags(uint32_t status, int type, char *buffer, size_t size);
int read_flags(uint32_t *status, int type, struct config_value *cv);
-int print_tags(struct list *tags, char *buffer, size_t size);
-int read_tags(struct dm_pool *mem, struct list *tags, struct config_value *cv);
+int print_tags(struct dm_list *tags, char *buffer, size_t size);
+int read_tags(struct dm_pool *mem, struct dm_list *tags, struct config_value *cv);
int text_vg_export_file(struct volume_group *vg, const char *desc, FILE *fp);
int text_vg_export_raw(struct volume_group *vg, const char *desc, char **buf);
--- LVM2/lib/format_text/import_vsn1.c 2008/09/19 06:41:58 1.54
+++ LVM2/lib/format_text/import_vsn1.c 2008/11/03 22:14:28 1.55
@@ -223,8 +223,8 @@
return 0;
}
- list_init(&pv->tags);
- list_init(&pv->segments);
+ dm_list_init(&pv->tags);
+ dm_list_init(&pv->segments);
/* Optional tags */
if ((cn = find_config_node(pvn, "tags")) &&
@@ -267,7 +267,7 @@
return_0;
vg->pv_count++;
- list_add(&vg->pvs, &pvl->list);
+ dm_list_add(&vg->pvs, &pvl->list);
return 1;
}
@@ -276,15 +276,15 @@
{
struct lv_segment *comp;
- list_iterate_items(comp, &lv->segments) {
+ dm_list_iterate_items(comp, &lv->segments) {
if (comp->le > seg->le) {
- list_add(&comp->list, &seg->list);
+ dm_list_add(&comp->list, &seg->list);
return;
}
}
lv->le_count += seg->len;
- list_add(&lv->segments, &seg->list);
+ dm_list_add(&lv->segments, &seg->list);
}
static int _read_segment(struct dm_pool *mem, struct volume_group *vg,
@@ -548,10 +548,10 @@
}
lv->snapshot = NULL;
- list_init(&lv->snapshot_segs);
- list_init(&lv->segments);
- list_init(&lv->tags);
- list_init(&lv->segs_using_this_lv);
+ dm_list_init(&lv->snapshot_segs);
+ dm_list_init(&lv->segments);
+ dm_list_init(&lv->tags);
+ dm_list_init(&lv->segs_using_this_lv);
/* Optional tags */
if ((cn = find_config_node(lvn, "tags")) &&
@@ -563,7 +563,7 @@
lv->vg = vg;
vg->lv_count++;
- list_add(&vg->lvs, &lvl->list);
+ dm_list_add(&vg->lvs, &lvl->list);
return 1;
}
@@ -609,7 +609,7 @@
*/
if (lv->status & SNAPSHOT) {
vg->lv_count--;
- list_del(&lvl->list);
+ dm_list_del(&lvl->list);
return 1;
}
@@ -758,7 +758,7 @@
goto bad;
}
- list_init(&vg->pvs);
+ dm_list_init(&vg->pvs);
if (!_read_sections(fid, "physical_volumes", _read_pv, mem, vg,
vgn, pv_hash, 0)) {
log_error("Couldn't find all physical volumes for volume "
@@ -766,8 +766,8 @@
goto bad;
}
- list_init(&vg->lvs);
- list_init(&vg->tags);
+ dm_list_init(&vg->lvs);
+ dm_list_init(&vg->tags);
/* Optional tags */
if ((cn = find_config_node(vgn, "tags")) &&
--- LVM2/lib/format_text/layout.h 2007/11/05 17:17:55 1.8
+++ LVM2/lib/format_text/layout.h 2008/11/03 22:14:28 1.9
@@ -29,7 +29,7 @@
/* Data areas (holding PEs) */
struct data_area_list {
- struct list list;
+ struct dm_list list;
struct disk_locn disk_locn;
};
@@ -67,8 +67,8 @@
} __attribute__ ((packed));
struct mda_lists {
- struct list dirs;
- struct list raws;
+ struct dm_list dirs;
+ struct dm_list raws;
struct metadata_area_ops *file_ops;
struct metadata_area_ops *raw_ops;
};
--- LVM2/lib/format_text/tags.c 2008/01/30 13:59:59 1.6
+++ LVM2/lib/format_text/tags.c 2008/11/03 22:14:28 1.7
@@ -19,7 +19,7 @@
#include "str_list.h"
#include "lvm-string.h"
-int print_tags(struct list *tags, char *buffer, size_t size)
+int print_tags(struct dm_list *tags, char *buffer, size_t size)
{
struct str_list *sl;
int first = 1;
@@ -27,7 +27,7 @@
if (!emit_to_buffer(&buffer, &size, "["))
return_0;
- list_iterate_items(sl, tags) {
+ dm_list_iterate_items(sl, tags) {
if (!first) {
if (!emit_to_buffer(&buffer, &size, ", "))
return_0;
@@ -44,7 +44,7 @@
return 1;
}
-int read_tags(struct dm_pool *mem, struct list *tags, struct config_value *cv)
+int read_tags(struct dm_pool *mem, struct dm_list *tags, struct config_value *cv)
{
if (cv->type == CFG_EMPTY_ARRAY)
return 1;
--- LVM2/lib/format_text/text_label.c 2008/02/06 15:47:27 1.21
+++ LVM2/lib/format_text/text_label.c 2008/11/03 22:14:28 1.22
@@ -58,7 +58,7 @@
pvh_dlocn_xl = &pvhdr->disk_areas_xl[0];
/* List of data areas (holding PEs) */
- list_iterate_items(da, &info->das) {
+ dm_list_iterate_items(da, &info->das) {
pvh_dlocn_xl->offset = xlate64(da->disk_locn.offset);
pvh_dlocn_xl->size = xlate64(da->disk_locn.size);
pvh_dlocn_xl++;
@@ -70,7 +70,7 @@
pvh_dlocn_xl++;
/* List of metadata area header locations */
- list_iterate_items(mda, &info->mdas) {
+ dm_list_iterate_items(mda, &info->mdas) {
mdac = (struct mda_context *) mda->metadata_locn;
if (mdac->area.dev != info->dev)
@@ -88,7 +88,7 @@
return 1;
}
-int add_da(struct dm_pool *mem, struct list *das,
+int add_da(struct dm_pool *mem, struct dm_list *das,
uint64_t start, uint64_t size)
{
struct data_area_list *dal;
@@ -108,24 +108,24 @@
dal->disk_locn.offset = start;
dal->disk_locn.size = size;
- list_add(das, &dal->list);
+ dm_list_add(das, &dal->list);
return 1;
}
-void del_das(struct list *das)
+void del_das(struct dm_list *das)
{
- struct list *dah, *tmp;
+ struct dm_list *dah, *tmp;
struct data_area_list *da;
- list_iterate_safe(dah, tmp, das) {
- da = list_item(dah, struct data_area_list);
- list_del(&da->list);
+ dm_list_iterate_safe(dah, tmp, das) {
+ da = dm_list_item(dah, struct data_area_list);
+ dm_list_del(&da->list);
dm_free(da);
}
}
-int add_mda(const struct format_type *fmt, struct dm_pool *mem, struct list *mdas,
+int add_mda(const struct format_type *fmt, struct dm_pool *mem, struct dm_list *mdas,
struct device *dev, uint64_t start, uint64_t size)
{
/* FIXME List size restricted by pv_header SECTOR_SIZE */
@@ -165,19 +165,19 @@
mdac->free_sectors = UINT64_C(0);
memset(&mdac->rlocn, 0, sizeof(mdac->rlocn));
- list_add(mdas, &mdal->list);
+ dm_list_add(mdas, &mdal->list);
return 1;
}
-void del_mdas(struct list *mdas)
+void del_mdas(struct dm_list *mdas)
{
- struct list *mdah, *tmp;
+ struct dm_list *mdah, *tmp;
struct metadata_area *mda;
- list_iterate_safe(mdah, tmp, mdas) {
- mda = list_item(mdah, struct metadata_area);
+ dm_list_iterate_safe(mdah, tmp, mdas) {
+ mda = dm_list_item(mdah, struct metadata_area);
dm_free(mda->metadata_locn);
- list_del(&mda->list);
+ dm_list_del(&mda->list);
dm_free(mda);
}
}
@@ -217,11 +217,11 @@
if (info->das.n)
del_das(&info->das);
- list_init(&info->das);
+ dm_list_init(&info->das);
if (info->mdas.n)
del_mdas(&info->mdas);
- list_init(&info->mdas);
+ dm_list_init(&info->mdas);
/* Data areas holding the PEs */
dlocn_xl = pvhdr->disk_areas_xl;
@@ -239,7 +239,7 @@
dlocn_xl++;
}
- list_iterate_items(mda, &info->mdas) {
+ dm_list_iterate_items(mda, &info->mdas) {
mdac = (struct mda_context *) mda->metadata_locn;
if ((vgname = vgname_from_mda(info->fmt, &mdac->area,
&vgid, &vgstatus, &creation_host,
--- LVM2/lib/label/label.c 2008/09/15 17:06:55 1.44
+++ LVM2/lib/label/label.c 2008/11/03 22:14:28 1.45
@@ -30,13 +30,13 @@
* Internal labeller struct.
*/
struct labeller_i {
- struct list list;
+ struct dm_list list;
struct labeller *l;
char name[0];
};
-static struct list _labellers;
+static struct dm_list _labellers;
static struct labeller_i *_alloc_li(const char *name, struct labeller *l)
{
@@ -63,23 +63,23 @@
int label_init(void)
{
- list_init(&_labellers);
+ dm_list_init(&_labellers);
return 1;
}
void label_exit(void)
{
- struct list *c, *n;
+ struct dm_list *c, *n;
struct labeller_i *li;
for (c = _labellers.n; c != &_labellers; c = n) {
n = c->n;
- li = list_item(c, struct labeller_i);
+ li = dm_list_item(c, struct labeller_i);
li->l->ops->destroy(li->l);
_free_li(li);
}
- list_init(&_labellers);
+ dm_list_init(&_labellers);
}
int label_register_handler(const char *name, struct labeller *handler)
@@ -89,7 +89,7 @@
if (!(li = _alloc_li(name, handler)))
return_0;
- list_add(&_labellers, &li->list);
+ dm_list_add(&_labellers, &li->list);
return 1;
}
@@ -97,7 +97,7 @@
{
struct labeller_i *li;
- list_iterate_items(li, &_labellers)
+ dm_list_iterate_items(li, &_labellers)
if (!strcmp(li->name, name))
return li->l;
@@ -153,7 +153,7 @@
continue;
}
- list_iterate_items(li, &_labellers) {
+ dm_list_iterate_items(li, &_labellers) {
if (li->l->ops->can_handle(li->l, (char *) lh,
sector + scan_sector)) {
log_very_verbose("%s: %s label detected",
@@ -228,7 +228,7 @@
if (xlate64(lh->sector_xl) == sector)
wipe = 1;
} else {
- list_iterate_items(li, &_labellers) {
+ dm_list_iterate_items(li, &_labellers) {
if (li->l->ops->can_handle(li->l, (char *) lh,
sector)) {
wipe = 1;
--- LVM2/lib/locking/Makefile.in 2007/09/21 10:16:44 1.3
+++ LVM2/lib/locking/Makefile.in 2008/11/03 22:14:29 1.4
@@ -19,6 +19,7 @@
SOURCES = cluster_locking.c
LIB_SHARED = liblvm2clusterlock.so
+LIB_VERSION = $(LIB_VERSION_LVM)
include $(top_srcdir)/make.tmpl
--- LVM2/lib/locking/file_locking.c 2008/05/09 19:26:58 1.39
+++ LVM2/lib/locking/file_locking.c 2008/11/03 22:14:29 1.40
@@ -31,12 +31,12 @@
#include <signal.h>
struct lock_list {
- struct list list;
+ struct dm_list list;
int lf;
char *res;
};
-static struct list _lock_list;
+static struct dm_list _lock_list;
static char _lock_dir[NAME_LEN];
static sig_t _oldhandler;
@@ -46,15 +46,15 @@
static int _release_lock(const char *file, int unlock)
{
struct lock_list *ll;
- struct list *llh, *llt;
+ struct dm_list *llh, *llt;
struct stat buf1, buf2;
- list_iterate_safe(llh, llt, &_lock_list) {
- ll = list_item(llh, struct lock_list);
+ dm_list_iterate_safe(llh, llt, &_lock_list) {
+ ll = dm_list_item(llh, struct lock_list);
if (!file || !strcmp(ll->res, file)) {
- list_del(llh);
+ dm_list_del(llh);
if (unlock) {
log_very_verbose("Unlocking %s", ll->res);
if (flock(ll->lf, LOCK_NB | LOCK_UN))
@@ -194,7 +194,7 @@
break;
} while (!(flags & LCK_NONBLOCK));
- list_add(&_lock_list, &ll->list);
+ dm_list_add(&_lock_list, &ll->list);
return 1;
err:
@@ -290,7 +290,7 @@
if ((access(_lock_dir, R_OK | W_OK | X_OK) == -1) && (errno == EROFS))
return 0;
- list_init(&_lock_list);
+ dm_list_init(&_lock_list);
if (sigfillset(&_intsigset) || sigfillset(&_fullsigset)) {
log_sys_error("sigfillset", "init_file_locking");
--- LVM2/lib/locking/locking.c 2008/10/24 01:16:16 1.51
+++ LVM2/lib/locking/locking.c 2008/11/03 22:14:29 1.52
@@ -401,27 +401,27 @@
}
/* Unlock list of LVs */
-int resume_lvs(struct cmd_context *cmd, struct list *lvs)
+int resume_lvs(struct cmd_context *cmd, struct dm_list *lvs)
{
struct lv_list *lvl;
- list_iterate_items(lvl, lvs)
+ dm_list_iterate_items(lvl, lvs)
resume_lv(cmd, lvl->lv);
return 1;
}
/* Lock a list of LVs */
-int suspend_lvs(struct cmd_context *cmd, struct list *lvs)
+int suspend_lvs(struct cmd_context *cmd, struct dm_list *lvs)
{
- struct list *lvh;
+ struct dm_list *lvh;
struct lv_list *lvl;
- list_iterate_items(lvl, lvs) {
+ dm_list_iterate_items(lvl, lvs) {
if (!suspend_lv(cmd, lvl->lv)) {
log_error("Failed to suspend %s", lvl->lv->name);
- list_uniterate(lvh, lvs, &lvl->list) {
- lvl = list_item(lvh, struct lv_list);
+ dm_list_uniterate(lvh, lvs, &lvl->list) {
+ lvl = dm_list_item(lvh, struct lv_list);
resume_lv(cmd, lvl->lv);
}
@@ -433,12 +433,12 @@
}
/* Lock a list of LVs */
-int activate_lvs(struct cmd_context *cmd, struct list *lvs, unsigned exclusive)
+int activate_lvs(struct cmd_context *cmd, struct dm_list *lvs, unsigned exclusive)
{
- struct list *lvh;
+ struct dm_list *lvh;
struct lv_list *lvl;
- list_iterate_items(lvl, lvs) {
+ dm_list_iterate_items(lvl, lvs) {
if (!exclusive) {
if (!activate_lv(cmd, lvl->lv)) {
log_error("Failed to activate %s", lvl->lv->name);
@@ -446,8 +446,8 @@
}
} else if (!activate_lv_excl(cmd, lvl->lv)) {
log_error("Failed to activate %s", lvl->lv->name);
- list_uniterate(lvh, lvs, &lvl->list) {
- lvl = list_item(lvh, struct lv_list);
+ dm_list_uniterate(lvh, lvs, &lvl->list) {
+ lvl = dm_list_item(lvh, struct lv_list);
activate_lv(cmd, lvl->lv);
}
return 0;
--- LVM2/lib/locking/locking.h 2008/09/19 06:41:58 1.42
+++ LVM2/lib/locking/locking.h 2008/11/03 22:14:29 1.43
@@ -130,9 +130,9 @@
lock_vol((vg)->cmd, (vg)->name, LCK_VG_DROP_CACHE)
/* Process list of LVs */
-int suspend_lvs(struct cmd_context *cmd, struct list *lvs);
-int resume_lvs(struct cmd_context *cmd, struct list *lvs);
-int activate_lvs(struct cmd_context *cmd, struct list *lvs, unsigned exclusive);
+int suspend_lvs(struct cmd_context *cmd, struct dm_list *lvs);
+int resume_lvs(struct cmd_context *cmd, struct dm_list *lvs);
+int activate_lvs(struct cmd_context *cmd, struct dm_list *lvs, unsigned exclusive);
/* Interrupt handling */
void sigint_clear(void);
--- LVM2/lib/metadata/lv_alloc.h 2008/01/16 19:00:59 1.21
+++ LVM2/lib/metadata/lv_alloc.h 2008/11/03 22:14:29 1.22
@@ -48,9 +48,9 @@
uint32_t stripes,
uint32_t mirrors, uint32_t log_count,
uint32_t extents,
- struct list *allocatable_pvs,
+ struct dm_list *allocatable_pvs,
alloc_policy_t alloc,
- struct list *parallel_areas);
+ struct dm_list *parallel_areas);
int lv_add_segment(struct alloc_handle *ah,
uint32_t first_area, uint32_t num_areas,
@@ -75,7 +75,7 @@
void alloc_destroy(struct alloc_handle *ah);
-struct list *build_parallel_areas_from_lv(struct cmd_context *cmd,
+struct dm_list *build_parallel_areas_from_lv(struct cmd_context *cmd,
struct logical_volume *lv);
#endif
--- LVM2/lib/metadata/lv_manip.c 2008/10/23 11:21:04 1.158
+++ LVM2/lib/metadata/lv_manip.c 2008/11/03 22:14:29 1.159
@@ -36,7 +36,7 @@
{
struct seg_list *sl;
- list_iterate_items(sl, &lv->segs_using_this_lv) {
+ dm_list_iterate_items(sl, &lv->segs_using_this_lv) {
if (sl->seg == seg) {
sl->count++;
return 1;
@@ -53,7 +53,7 @@
sl->count = 1;
sl->seg = seg;
- list_add(&lv->segs_using_this_lv, &sl->list);
+ dm_list_add(&lv->segs_using_this_lv, &sl->list);
return 1;
}
@@ -63,7 +63,7 @@
{
struct seg_list *sl;
- list_iterate_items(sl, &lv->segs_using_this_lv) {
+ dm_list_iterate_items(sl, &lv->segs_using_this_lv) {
if (sl->seg != seg)
continue;
if (sl->count > 1)
@@ -72,7 +72,7 @@
log_very_verbose("%s:%" PRIu32 " is no longer a user "
"of %s", seg->lv->name, seg->le,
lv->name);
- list_del(&sl->list);
+ dm_list_del(&sl->list);
}
return 1;
}
@@ -91,14 +91,14 @@
{
struct seg_list *sl;
- if (list_size(&lv->segs_using_this_lv) != 1) {
+ if (dm_list_size(&lv->segs_using_this_lv) != 1) {
log_error("%s is expected to have only one segment using it, "
"while it has %d", lv->name,
- list_size(&lv->segs_using_this_lv));
+ dm_list_size(&lv->segs_using_this_lv));
return NULL;
}
- sl = list_item(list_first(&lv->segs_using_this_lv), struct seg_list);
+ sl = dm_list_item(dm_list_first(&lv->segs_using_this_lv), struct seg_list);
if (sl->count != 1) {
log_error("%s is expected to have only one segment using it, "
@@ -114,19 +114,19 @@
* PVs used by a segment of an LV
*/
struct seg_pvs {
- struct list list;
+ struct dm_list list;
- struct list pvs; /* struct pv_list */
+ struct dm_list pvs; /* struct pv_list */
uint32_t le;
uint32_t len;
};
-static struct seg_pvs *_find_seg_pvs_by_le(struct list *list, uint32_t le)
+static struct seg_pvs *_find_seg_pvs_by_le(struct dm_list *list, uint32_t le)
{
struct seg_pvs *spvs;
- list_iterate_items(spvs, list)
+ dm_list_iterate_items(spvs, list)
if (le >= spvs->le && le < spvs->le + spvs->len)
return spvs;
@@ -145,7 +145,7 @@
memset(&lvnum_used, 0, sizeof(lvnum_used));
- list_iterate_items(lvl, &lv->vg->lvs) {
+ dm_list_iterate_items(lvl, &lv->vg->lvs) {
lvnum = lvnum_from_lvid(&lvl->lv->lvid);
if (lvnum <= MAX_RESTRICTED_LVS)
lvnum_used[lvnum] = 1;
@@ -203,7 +203,7 @@
seg->region_size = region_size;
seg->extents_copied = extents_copied;
seg->log_lv = log_lv;
- list_init(&seg->tags);
+ dm_list_init(&seg->tags);
if (log_lv && !attach_mirror_log(seg, log_lv))
return_NULL;
@@ -231,7 +231,7 @@
return NULL;
}
- list_add(&lv->segments, &seg->list);
+ dm_list_add(&lv->segments, &seg->list);
lv->status |= VIRTUAL;
return seg;
@@ -407,7 +407,7 @@
uint32_t count = extents;
uint32_t reduction;
- list_iterate_back_items(seg, &lv->segments) {
+ dm_list_iterate_back_items(seg, &lv->segments) {
if (!count)
break;
@@ -416,7 +416,7 @@
/* FIXME Check this is safe */
if (seg->log_lv && !lv_remove(seg->log_lv))
return_0;
- list_del(&seg->list);
+ dm_list_del(&seg->list);
reduction = seg->len;
} else
reduction = count;
@@ -437,7 +437,7 @@
if (!(lvl = find_lv_in_vg(lv->vg, lv->name)))
return_0;
- list_del(&lvl->list);
+ dm_list_del(&lvl->list);
if (!(lv->status & SNAPSHOT))
lv->vg->lv_count--;
@@ -498,7 +498,7 @@
* A set of contiguous physical extents allocated
*/
struct alloced_area {
- struct list list;
+ struct dm_list list;
struct physical_volume *pv;
uint32_t pe;
@@ -518,10 +518,10 @@
uint32_t log_count; /* Number of parallel 1-extent logs */
uint32_t total_area_len; /* Total number of parallel extents */
- struct list *parallel_areas; /* PVs to avoid */
+ struct dm_list *parallel_areas; /* PVs to avoid */
struct alloced_area log_area; /* Extent used for log */
- struct list alloced_areas[0]; /* Lists of areas in each stripe */
+ struct dm_list alloced_areas[0]; /* Lists of areas in each stripe */
};
static uint32_t calc_area_multiple(const struct segment_type *segtype,
@@ -543,7 +543,7 @@
uint32_t mirrors,
uint32_t stripes,
uint32_t log_count,
- struct list *parallel_areas)
+ struct dm_list *parallel_areas)
{
struct alloc_handle *ah;
uint32_t s, area_count;
@@ -586,7 +586,7 @@
ah->area_multiple = calc_area_multiple(segtype, area_count);
for (s = 0; s < ah->area_count; s++)
- list_init(&ah->alloced_areas[s]);
+ dm_list_init(&ah->alloced_areas[s]);
ah->parallel_areas = parallel_areas;
@@ -599,7 +599,7 @@
dm_pool_destroy(ah->mem);
}
-static int _log_parallel_areas(struct dm_pool *mem, struct list *parallel_areas)
+static int _log_parallel_areas(struct dm_pool *mem, struct dm_list *parallel_areas)
{
struct seg_pvs *spvs;
struct pv_list *pvl;
@@ -613,8 +613,8 @@
return 0;
}
- list_iterate_items(spvs, parallel_areas) {
- list_iterate_items(pvl, &spvs->pvs) {
+ dm_list_iterate_items(spvs, parallel_areas) {
+ dm_list_iterate_items(pvl, &spvs->pvs) {
if (!dm_pool_grow_object(mem, pv_dev_name(pvl->pv), strlen(pv_dev_name(pvl->pv)))) {
log_error("dm_pool_grow_object failed");
dm_pool_abandon_object(mem);
@@ -670,7 +670,7 @@
if (!set_lv_segment_area_pv(seg, s, aa[s].pv, aa[s].pe))
return_0;
- list_add(&lv->segments, &seg->list);
+ dm_list_add(&lv->segments, &seg->list);
extents = aa[0].len * area_multiple;
lv->le_count += extents;
@@ -683,7 +683,7 @@
}
static int _setup_alloced_segments(struct logical_volume *lv,
- struct list *alloced_areas,
+ struct dm_list *alloced_areas,
uint32_t area_count,
uint32_t status,
uint32_t stripe_size,
@@ -693,7 +693,7 @@
{
struct alloced_area *aa;
- list_iterate_items(aa, &alloced_areas[0]) {
+ dm_list_iterate_items(aa, &alloced_areas[0]) {
if (!_setup_alloced_segment(lv, status, area_count,
stripe_size, segtype, aa,
region_size, log_lv))
@@ -734,7 +734,7 @@
aa[s].pv = areas[s]->map->pv;
aa[s].pe = areas[s]->start;
aa[s].len = area_len;
- list_add(&ah->alloced_areas[s], &aa[s].list);
+ dm_list_add(&ah->alloced_areas[s], &aa[s].list);
}
ah->total_area_len += area_len;
@@ -958,7 +958,7 @@
* Choose sets of parallel areas to use, respecting any constraints.
*/
static int _find_parallel_space(struct alloc_handle *ah, alloc_policy_t alloc,
- struct list *pvms, struct pv_area **areas,
+ struct dm_list *pvms, struct pv_area **areas,
uint32_t areas_size, unsigned can_split,
struct lv_segment *prev_lvseg,
uint32_t *allocated, uint32_t needed)
@@ -973,7 +973,7 @@
uint32_t max_parallel; /* Maximum extents to allocate */
uint32_t next_le;
struct seg_pvs *spvs;
- struct list *parallel_pvs;
+ struct dm_list *parallel_pvs;
uint32_t free_pes;
/* Is there enough total space? */
@@ -1015,7 +1015,7 @@
*/
if (ah->parallel_areas) {
next_le = (prev_lvseg ? prev_lvseg->le + prev_lvseg->len : 0) + *allocated / ah->area_multiple;
- list_iterate_items(spvs, ah->parallel_areas) {
+ dm_list_iterate_items(spvs, ah->parallel_areas) {
if (next_le >= spvs->le + spvs->len)
continue;
@@ -1032,8 +1032,8 @@
* that fits completely and we're allowed more than one
* LV segment, then take the largest remaining instead.
*/
- list_iterate_items(pvm, pvms) {
- if (list_empty(&pvm->areas))
+ dm_list_iterate_items(pvm, pvms) {
+ if (dm_list_empty(&pvm->areas))
continue; /* Next PV */
if (alloc != ALLOC_ANYWHERE) {
@@ -1044,14 +1044,14 @@
/* Avoid PVs used by existing parallel areas */
if (parallel_pvs)
- list_iterate_items(pvl, parallel_pvs)
+ dm_list_iterate_items(pvl, parallel_pvs)
if (pvm->pv == pvl->pv)
goto next_pv;
}
already_found_one = 0;
/* First area in each list is the largest */
- list_iterate_items(pva, &pvm->areas) {
+ dm_list_iterate_items(pva, &pvm->areas) {
if (contiguous) {
if (prev_lvseg &&
_check_contiguous(ah->cmd,
@@ -1137,14 +1137,14 @@
struct logical_volume *lv,
uint32_t new_extents,
unsigned can_split,
- struct list *allocatable_pvs)
+ struct dm_list *allocatable_pvs)
{
struct pv_area **areas;
uint32_t allocated = lv ? lv->le_count : 0;
uint32_t old_allocated;
struct lv_segment *prev_lvseg = NULL;
int r = 0;
- struct list *pvms;
+ struct dm_list *pvms;
uint32_t areas_size;
alloc_policy_t alloc;
@@ -1156,8 +1156,8 @@
if (ah->alloc == ALLOC_CONTIGUOUS)
can_split = 0;
- if (lv && !list_empty(&lv->segments))
- prev_lvseg = list_item(list_last(&lv->segments),
+ if (lv && !dm_list_empty(&lv->segments))
+ prev_lvseg = dm_list_item(dm_list_last(&lv->segments),
struct lv_segment);
/*
* Build the sets of available areas on the pv's.
@@ -1168,7 +1168,7 @@
if (!_log_parallel_areas(ah->mem, ah->parallel_areas))
stack;
- areas_size = list_size(pvms);
+ areas_size = dm_list_size(pvms);
if (areas_size && areas_size < (ah->area_count + ah->log_count)) {
if (ah->alloc != ALLOC_ANYWHERE) {
log_error("Not enough PVs with free space available "
@@ -1238,7 +1238,7 @@
return 0;
}
- list_add(&lv->segments, &seg->list);
+ dm_list_add(&lv->segments, &seg->list);
lv->le_count += extents;
lv->size += (uint64_t) extents *lv->vg->extent_size;
@@ -1257,9 +1257,9 @@
uint32_t stripes,
uint32_t mirrors, uint32_t log_count,
uint32_t extents,
- struct list *allocatable_pvs,
+ struct dm_list *allocatable_pvs,
alloc_policy_t alloc,
- struct list *parallel_areas)
+ struct dm_list *parallel_areas)
{
struct alloc_handle *ah;
@@ -1375,8 +1375,8 @@
if (!move_lv_segment_area(newseg, s, seg, s))
return_NULL;
- list_add(&seg->list, &newseg->list);
- list_del(&seg->list);
+ dm_list_add(&seg->list, &newseg->list);
+ dm_list_del(&seg->list);
return newseg;
}
@@ -1393,7 +1393,7 @@
uint32_t current_le = le;
uint32_t s, old_area_count, new_area_count;
- list_iterate_items(aa, &ah->alloced_areas[0]) {
+ dm_list_iterate_items(aa, &ah->alloced_areas[0]) {
if (!(seg = find_seg_by_le(lv, current_le))) {
log_error("Failed to find segment for %s extent %"
PRIu32, lv->name, current_le);
@@ -1452,7 +1452,7 @@
seg = first_seg(lv);
- if (list_size(&lv->segments) != 1 || seg_type(seg, 0) != AREA_LV) {
+ if (dm_list_size(&lv->segments) != 1 || seg_type(seg, 0) != AREA_LV) {
log_error("Mirror layer must be inserted before adding mirrors");
return_0;
}
@@ -1498,7 +1498,7 @@
{
struct lv_segment *seg;
- if (list_size(&log_lv->segments)) {
+ if (dm_list_size(&log_lv->segments)) {
log_error("Log segments can only be added to an empty LV");
return 0;
}
@@ -1515,7 +1515,7 @@
if (!set_lv_segment_area_pv(seg, 0, ah->log_area.pv, ah->log_area.pe))
return_0;
- list_add(&log_lv->segments, &seg->list);
+ dm_list_add(&log_lv->segments, &seg->list);
log_lv->le_count += ah->log_area.len;
log_lv->size += (uint64_t) log_lv->le_count * log_lv->vg->extent_size;
@@ -1568,7 +1568,7 @@
uint32_t mirrors, uint32_t extents,
struct physical_volume *mirrored_pv __attribute((unused)),
uint32_t mirrored_pe __attribute((unused)),
- uint32_t status, struct list *allocatable_pvs,
+ uint32_t status, struct dm_list *allocatable_pvs,
alloc_policy_t alloc)
{
int r = 1;
@@ -1687,7 +1687,7 @@
struct lv_segment *seg;
uint32_t s;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (seg->log_lv && !func(cmd, seg->log_lv, data))
return 0;
for (s = 0; s < seg->area_count; s++) {
@@ -1775,7 +1775,7 @@
struct lv_list *lvl;
int high = -1, i;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (sscanf(lvl->lv->name, format, &i) != 1)
continue;
@@ -1847,10 +1847,10 @@
lv->size = UINT64_C(0);
lv->le_count = 0;
lv->snapshot = NULL;
- list_init(&lv->snapshot_segs);
- list_init(&lv->segments);
- list_init(&lv->tags);
- list_init(&lv->segs_using_this_lv);
+ dm_list_init(&lv->snapshot_segs);
+ dm_list_init(&lv->segments);
+ dm_list_init(&lv->tags);
+ dm_list_init(&lv->segs_using_this_lv);
if (lvid)
lv->lvid = *lvid;
@@ -1864,7 +1864,7 @@
if (!import)
vg->lv_count++;
- list_add(&vg->lvs, &ll->list);
+ dm_list_add(&vg->lvs, &ll->list);
return lv;
}
@@ -1886,18 +1886,18 @@
pvl->pv = peg->pv;
- list_add(&spvs->pvs, &pvl->list);
+ dm_list_add(&spvs->pvs, &pvl->list);
return 1;
}
/*
- * Construct list of segments of LVs showing which PVs they use.
+ * Construct dm_list of segments of LVs showing which PVs they use.
*/
-struct list *build_parallel_areas_from_lv(struct cmd_context *cmd,
+struct dm_list *build_parallel_areas_from_lv(struct cmd_context *cmd,
struct logical_volume *lv)
{
- struct list *parallel_areas;
+ struct dm_list *parallel_areas;
struct seg_pvs *spvs;
uint32_t current_le = 0;
@@ -1906,7 +1906,7 @@
return NULL;
}
- list_init(parallel_areas);
+ dm_list_init(parallel_areas);
do {
if (!(spvs = dm_pool_zalloc(cmd->mem, sizeof(*spvs)))) {
@@ -1914,12 +1914,12 @@
return NULL;
}
- list_init(&spvs->pvs);
+ dm_list_init(&spvs->pvs);
spvs->le = current_le;
spvs->len = lv->le_count - current_le;
- list_add(parallel_areas, &spvs->list);
+ dm_list_add(parallel_areas, &spvs->list);
/* Find next segment end */
/* FIXME Unnecessary nesting! */
@@ -2054,12 +2054,12 @@
int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume *lv,
const force_t force)
{
- struct list *snh, *snht;
+ struct dm_list *snh, *snht;
if (lv_is_origin(lv)) {
/* remove snapshot LVs first */
- list_iterate_safe(snh, snht, &lv->snapshot_segs) {
- if (!lv_remove_with_dependencies(cmd, list_struct_base(snh, struct lv_segment,
+ dm_list_iterate_safe(snh, snht, &lv->snapshot_segs) {
+ if (!lv_remove_with_dependencies(cmd, dm_list_struct_base(snh, struct lv_segment,
origin_list)->cow,
force))
return 0;
@@ -2078,7 +2078,7 @@
* is used to find the lowest-level segment boundaries.
*/
static int _split_parent_area(struct lv_segment *seg, uint32_t s,
- struct list *layer_seg_pvs)
+ struct dm_list *layer_seg_pvs)
{
uint32_t parent_area_len, parent_le, layer_le;
uint32_t area_multiple;
@@ -2132,19 +2132,19 @@
struct logical_volume *parent_lv;
struct lv_segment *seg;
uint32_t s;
- struct list *parallel_areas;
+ struct dm_list *parallel_areas;
if (!(parallel_areas = build_parallel_areas_from_lv(cmd, layer_lv)))
return_0;
/* Loop through all LVs except itself */
- list_iterate_items(lvl, &layer_lv->vg->lvs) {
+ dm_list_iterate_items(lvl, &layer_lv->vg->lvs) {
parent_lv = lvl->lv;
if (parent_lv == layer_lv)
continue;
/* Find all segments that point at the layer LV */
- list_iterate_items(seg, &parent_lv->segments) {
+ dm_list_iterate_items(seg, &parent_lv->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_LV ||
seg_lv(seg, s) != layer_lv)
@@ -2163,7 +2163,7 @@
int remove_layers_for_segments(struct cmd_context *cmd,
struct logical_volume *lv,
struct logical_volume *layer_lv,
- uint32_t status_mask, struct list *lvs_changed)
+ uint32_t status_mask, struct dm_list *lvs_changed)
{
struct lv_segment *seg, *lseg;
uint32_t s;
@@ -2174,7 +2174,7 @@
layer_lv->name, lv->name);
/* Find all segments that point at the temporary mirror */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_LV ||
seg_lv(seg, s) != layer_lv)
@@ -2230,7 +2230,7 @@
return 0;
}
lvl->lv = lv;
- list_add(lvs_changed, &lvl->list);
+ dm_list_add(lvs_changed, &lvl->list);
lv_changed = 1;
}
}
@@ -2245,13 +2245,13 @@
int remove_layers_for_segments_all(struct cmd_context *cmd,
struct logical_volume *layer_lv,
uint32_t status_mask,
- struct list *lvs_changed)
+ struct dm_list *lvs_changed)
{
struct lv_list *lvl;
struct logical_volume *lv1;
/* Loop through all LVs except the temporary mirror */
- list_iterate_items(lvl, &layer_lv->vg->lvs) {
+ dm_list_iterate_items(lvl, &layer_lv->vg->lvs) {
lv1 = lvl->lv;
if (lv1 == layer_lv)
continue;
@@ -2273,7 +2273,7 @@
{
struct lv_segment *seg;
- list_iterate_items(seg, &lv_to->segments) {
+ dm_list_iterate_items(seg, &lv_to->segments) {
if (seg->origin) {
log_error("Can't move snapshot segment");
return 0;
@@ -2284,13 +2284,13 @@
lv_to->segments.n->p = &lv_to->segments;
lv_to->segments.p->n = &lv_to->segments;
- list_iterate_items(seg, &lv_to->segments) {
+ dm_list_iterate_items(seg, &lv_to->segments) {
seg->lv = lv_to;
seg->status &= ~reset_status;
seg->status |= set_status;
}
- list_init(&lv_from->segments);
+ dm_list_init(&lv_from->segments);
lv_to->le_count = lv_from->le_count;
lv_to->size = lv_from->size;
@@ -2322,7 +2322,7 @@
* Before removal, the layer should be cleaned up,
* i.e. additional segments and areas should have been removed.
*/
- if (list_size(&parent->segments) != 1 ||
+ if (dm_list_size(&parent->segments) != 1 ||
parent_seg->area_count != 1 ||
seg_type(parent_seg, 0) != AREA_LV ||
layer_lv != seg_lv(parent_seg, 0) ||
@@ -2428,7 +2428,7 @@
return_NULL;
/* add the new segment to the layer LV */
- list_add(&lv_where->segments, &mapseg->list);
+ dm_list_add(&lv_where->segments, &mapseg->list);
lv_where->le_count = layer_lv->le_count;
lv_where->size = lv_where->le_count * lv_where->vg->extent_size;
@@ -2471,7 +2471,7 @@
return_0;
/* add the new segment to the layer LV */
- list_add(&layer_lv->segments, &mapseg->list);
+ dm_list_add(&layer_lv->segments, &mapseg->list);
layer_lv->le_count += seg->area_len;
layer_lv->size += seg->area_len * layer_lv->vg->extent_size;
@@ -2502,7 +2502,7 @@
pe_start = seg_pe(seg, s);
/* Do these PEs match to any of the PEs in pvl? */
- list_iterate_items(per, pvl->pe_ranges) {
+ dm_list_iterate_items(per, pvl->pe_ranges) {
per_end = per->start + per->count - 1;
if ((pe_start < per->start) || (pe_start > per_end))
@@ -2535,14 +2535,14 @@
return 1;
/* Split LV segments to match PE ranges */
- list_iterate_items(seg, &lv_where->segments) {
+ dm_list_iterate_items(seg, &lv_where->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_PV ||
seg_dev(seg, s) != pvl->pv->dev)
continue;
/* Do these PEs match with the condition? */
- list_iterate_items(per, pvl->pe_ranges) {
+ dm_list_iterate_items(per, pvl->pe_ranges) {
pe_start = seg_pe(seg, s);
pe_end = pe_start + seg->area_len - 1;
per_end = per->start + per->count - 1;
@@ -2589,7 +2589,7 @@
struct logical_volume *layer_lv,
uint32_t status,
struct pv_list *pvl,
- struct list *lvs_changed)
+ struct dm_list *lvs_changed)
{
struct lv_segment *seg;
struct lv_list *lvl;
@@ -2604,7 +2604,7 @@
return_0;
/* Work through all segments on the supplied PV */
- list_iterate_items(seg, &lv_where->segments) {
+ dm_list_iterate_items(seg, &lv_where->segments) {
for (s = 0; s < seg->area_count; s++) {
if (!_match_seg_area_to_pe_range(seg, s, pvl))
continue;
@@ -2616,7 +2616,7 @@
return 0;
}
lvl->lv = lv_where;
- list_add(lvs_changed, &lvl->list);
+ dm_list_add(lvs_changed, &lvl->list);
lv_used = 1;
}
--- LVM2/lib/metadata/merge.c 2008/02/22 13:22:44 1.35
+++ LVM2/lib/metadata/merge.c 2008/11/03 22:14:29 1.36
@@ -37,17 +37,17 @@
int lv_merge_segments(struct logical_volume *lv)
{
- struct list *segh, *t;
+ struct dm_list *segh, *t;
struct lv_segment *current, *prev = NULL;
if (lv->status & LOCKED || lv->status & PVMOVE)
return 1;
- list_iterate_safe(segh, t, &lv->segments) {
- current = list_item(segh, struct lv_segment);
+ dm_list_iterate_safe(segh, t, &lv->segments) {
+ current = dm_list_item(segh, struct lv_segment);
if (_merge(prev, current))
- list_del(¤t->list);
+ dm_list_del(¤t->list);
else
prev = current;
}
@@ -67,7 +67,7 @@
uint32_t area_multiplier, s;
struct seg_list *sl;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
seg_count++;
if (seg->le != le) {
log_error("LV %s invalid: segment %u should begin at "
@@ -175,7 +175,7 @@
}
*/
seg_found = 0;
- list_iterate_items(sl, &seg_lv(seg, s)->segs_using_this_lv)
+ dm_list_iterate_items(sl, &seg_lv(seg, s)->segs_using_this_lv)
if (sl->seg == seg)
seg_found++;
if (!seg_found) {
@@ -198,7 +198,7 @@
le += seg->len;
}
- list_iterate_items(sl, &lv->segs_using_this_lv) {
+ dm_list_iterate_items(sl, &lv->segs_using_this_lv) {
seg = sl->seg;
seg_found = 0;
for (s = 0; s < seg->area_count; s++) {
@@ -226,7 +226,7 @@
}
seg_found = 0;
- list_iterate_items(seg2, &seg->lv->segments)
+ dm_list_iterate_items(seg2, &seg->lv->segments)
if (sl->seg == seg2) {
seg_found++;
break;
@@ -334,7 +334,7 @@
}
/* Add split off segment to the list _after_ the original one */
- list_add_h(&seg->list, &split_seg->list);
+ dm_list_add_h(&seg->list, &split_seg->list);
return 1;
}
--- LVM2/lib/metadata/metadata-exported.h 2008/09/25 15:57:02 1.54
+++ LVM2/lib/metadata/metadata-exported.h 2008/11/03 22:14:29 1.55
@@ -134,7 +134,7 @@
struct labeller;
struct format_type {
- struct list list;
+ struct dm_list list;
struct cmd_context *cmd;
struct format_handler *ops;
struct labeller *labeller;
@@ -147,7 +147,7 @@
};
struct pv_segment {
- struct list list; /* Member of pv->segments: ordered list
+ struct dm_list list; /* Member of pv->segments: ordered list
* covering entire data area on this PV */
struct physical_volume *pv;
@@ -177,13 +177,13 @@
uint32_t pe_alloc_count;
unsigned long pe_align;
- struct list segments; /* Ordered pv_segments covering complete PV */
- struct list tags;
+ struct dm_list segments; /* Ordered pv_segments covering complete PV */
+ struct dm_list tags;
};
struct format_instance {
const struct format_type *fmt;
- struct list metadata_areas; /* e.g. metadata locations */
+ struct dm_list metadata_areas; /* e.g. metadata locations */
void *private;
};
@@ -208,12 +208,12 @@
/* physical volumes */
uint32_t pv_count;
- struct list pvs;
+ struct dm_list pvs;
/*
* logical volumes
* The following relationship should always hold:
- * list_size(lvs) = lv_count + 2 * snapshot_count
+ * dm_list_size(lvs) = lv_count + 2 * snapshot_count
*
* Snapshots consist of 2 instances of "struct logical_volume":
* - cow (lv_name is visible to the user)
@@ -229,9 +229,9 @@
*/
uint32_t lv_count;
uint32_t snapshot_count;
- struct list lvs;
+ struct dm_list lvs;
- struct list tags;
+ struct dm_list tags;
};
/* There will be one area for each stripe */
@@ -250,7 +250,7 @@
struct segment_type;
struct lv_segment {
- struct list list;
+ struct dm_list list;
struct logical_volume *lv;
const struct segment_type *segtype;
@@ -265,13 +265,13 @@
uint32_t area_len;
struct logical_volume *origin;
struct logical_volume *cow;
- struct list origin_list;
+ struct dm_list origin_list;
uint32_t chunk_size; /* For snapshots - in sectors */
uint32_t region_size; /* For mirrors - in sectors */
uint32_t extents_copied;
struct logical_volume *log_lv;
- struct list tags;
+ struct dm_list tags;
struct lv_segment_area *areas;
};
@@ -296,29 +296,29 @@
uint32_t le_count;
uint32_t origin_count;
- struct list snapshot_segs;
+ struct dm_list snapshot_segs;
struct lv_segment *snapshot;
- struct list segments;
- struct list tags;
- struct list segs_using_this_lv;
+ struct dm_list segments;
+ struct dm_list tags;
+ struct dm_list segs_using_this_lv;
};
struct pe_range {
- struct list list;
+ struct dm_list list;
uint32_t start; /* PEs */
uint32_t count; /* PEs */
};
struct pv_list {
- struct list list;
+ struct dm_list list;
struct physical_volume *pv;
- struct list *mdas; /* Metadata areas */
- struct list *pe_ranges; /* Ranges of PEs e.g. for allocation */
+ struct dm_list *mdas; /* Metadata areas */
+ struct dm_list *pe_ranges; /* Ranges of PEs e.g. for allocation */
};
struct lv_list {
- struct list list;
+ struct dm_list list;
struct logical_volume *lv;
};
@@ -331,17 +331,17 @@
struct volume_group *vg_read(struct cmd_context *cmd, const char *vg_name,
const char *vgid, int *consistent);
struct physical_volume *pv_read(struct cmd_context *cmd, const char *pv_name,
- struct list *mdas, uint64_t *label_sector,
+ struct dm_list *mdas, uint64_t *label_sector,
int warnings);
-struct list *get_pvs(struct cmd_context *cmd);
+struct dm_list *get_pvs(struct cmd_context *cmd);
/* Set full_scan to 1 to re-read every (filtered) device label */
-struct list *get_vgs(struct cmd_context *cmd, int full_scan);
-struct list *get_vgids(struct cmd_context *cmd, int full_scan);
+struct dm_list *get_vgs(struct cmd_context *cmd, int full_scan);
+struct dm_list *get_vgids(struct cmd_context *cmd, int full_scan);
int scan_vgs_for_pvs(struct cmd_context *cmd);
int pv_write(struct cmd_context *cmd, struct physical_volume *pv,
- struct list *mdas, int64_t label_sector);
+ struct dm_list *mdas, int64_t label_sector);
int is_pv(pv_t *pv);
int is_orphan_vg(const char *vg_name);
int is_orphan(const pv_t *pv);
@@ -363,14 +363,14 @@
uint32_t existing_extent_count,
uint32_t existing_extent_size,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list *mdas);
+ uint64_t pvmetadatasize, struct dm_list *mdas);
int pv_resize(struct physical_volume *pv, struct volume_group *vg,
uint32_t new_pe_count);
int pv_analyze(struct cmd_context *cmd, const char *pv_name,
uint64_t label_sector);
/* FIXME: move internal to library */
-uint32_t pv_list_extents_free(const struct list *pvh);
+uint32_t pv_list_extents_free(const struct dm_list *pvh);
struct volume_group *vg_create(struct cmd_context *cmd, const char *name,
uint32_t extent_size, uint32_t max_pv,
@@ -415,7 +415,7 @@
uint32_t stripes, uint32_t stripe_size,
uint32_t mirrors, uint32_t extents,
struct physical_volume *mirrored_pv, uint32_t mirrored_pe,
- uint32_t status, struct list *allocatable_pvs,
+ uint32_t status, struct dm_list *allocatable_pvs,
alloc_policy_t alloc);
/* lv must be part of lv->vg->lvs */
@@ -438,15 +438,15 @@
struct logical_volume *layer_lv,
uint32_t status,
struct pv_list *pv,
- struct list *lvs_changed);
+ struct dm_list *lvs_changed);
int remove_layers_for_segments(struct cmd_context *cmd,
struct logical_volume *lv,
struct logical_volume *layer_lv,
- uint32_t status_mask, struct list *lvs_changed);
+ uint32_t status_mask, struct dm_list *lvs_changed);
int remove_layers_for_segments_all(struct cmd_context *cmd,
struct logical_volume *layer_lv,
uint32_t status_mask,
- struct list *lvs_changed);
+ struct dm_list *lvs_changed);
int split_parent_segments_for_layer(struct cmd_context *cmd,
struct logical_volume *layer_lv);
int remove_layer_from_lv(struct logical_volume *lv,
@@ -507,10 +507,10 @@
int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t stripes,
uint32_t region_size, uint32_t log_count,
- struct list *pvs, alloc_policy_t alloc, uint32_t flags);
+ struct dm_list *pvs, alloc_policy_t alloc, uint32_t flags);
int lv_remove_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t log_count,
- struct list *pvs, uint32_t status_mask);
+ struct dm_list *pvs, uint32_t status_mask);
int is_temporary_mirror_layer(const struct logical_volume *lv);
struct logical_volume * find_temporary_mirror(const struct logical_volume *lv);
@@ -521,24 +521,24 @@
uint32_t new_mirrors, uint32_t status_mask);
int add_mirrors_to_segments(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t region_size,
- struct list *allocatable_pvs, alloc_policy_t alloc);
+ struct dm_list *allocatable_pvs, alloc_policy_t alloc);
int remove_mirror_images(struct logical_volume *lv, uint32_t num_mirrors,
- struct list *removable_pvs, unsigned remove_log);
+ struct dm_list *removable_pvs, unsigned remove_log);
int add_mirror_images(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t stripes, uint32_t region_size,
- struct list *allocatable_pvs, alloc_policy_t alloc,
+ struct dm_list *allocatable_pvs, alloc_policy_t alloc,
uint32_t log_count);
struct logical_volume *detach_mirror_log(struct lv_segment *seg);
int attach_mirror_log(struct lv_segment *seg, struct logical_volume *lv);
int remove_mirror_log(struct cmd_context *cmd, struct logical_volume *lv,
- struct list *removable_pvs);
+ struct dm_list *removable_pvs);
int add_mirror_log(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t log_count, uint32_t region_size,
- struct list *allocatable_pvs, alloc_policy_t alloc);
+ struct dm_list *allocatable_pvs, alloc_policy_t alloc);
int reconfigure_mirror_images(struct lv_segment *mirrored_seg, uint32_t num_mirrors,
- struct list *removable_pvs, unsigned remove_log);
+ struct dm_list *removable_pvs, unsigned remove_log);
int collapse_mirrored_lv(struct logical_volume *lv);
int shift_mirror_images(struct lv_segment *mirrored_seg, unsigned mimage);
@@ -551,7 +551,7 @@
const char *get_pvmove_pvname_from_lv(struct logical_volume *lv);
const char *get_pvmove_pvname_from_lv_mirr(struct logical_volume *lv_mirr);
float copy_percent(struct logical_volume *lv_mirr);
-struct list *lvs_using_lv(struct cmd_context *cmd, struct volume_group *vg,
+struct dm_list *lvs_using_lv(struct cmd_context *cmd, struct volume_group *vg,
struct logical_volume *lv);
uint32_t find_free_lvnum(struct logical_volume *lv);
--- LVM2/lib/metadata/metadata.c 2008/10/03 14:22:18 1.194
+++ LVM2/lib/metadata/metadata.c 2008/11/03 22:14:29 1.195
@@ -39,7 +39,7 @@
static struct physical_volume *_pv_read(struct cmd_context *cmd,
const char *pv_name,
- struct list *mdas,
+ struct dm_list *mdas,
uint64_t *label_sector,
int warnings);
@@ -50,11 +50,11 @@
uint32_t existing_extent_count,
uint32_t existing_extent_size,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list *mdas);
+ uint64_t pvmetadatasize, struct dm_list *mdas);
static int _pv_write(struct cmd_context *cmd __attribute((unused)),
struct physical_volume *pv,
- struct list *mdas, int64_t label_sector);
+ struct dm_list *mdas, int64_t label_sector);
static struct physical_volume *_find_pv_by_name(struct cmd_context *cmd,
const char *pv_name);
@@ -181,7 +181,7 @@
return_0;
pvl->pv = pv;
- list_add(&vg->pvs, &pvl->list);
+ dm_list_add(&vg->pvs, &pvl->list);
if ((uint64_t) vg->extent_count + pv->pe_count > UINT32_MAX) {
log_error("Unable to add %s to %s: new extent count (%"
@@ -234,7 +234,7 @@
log_warn("WARNING: Volume group %s is not consistent",
vg_name);
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (id_equal(&pvl->pv->id, (const struct id *) pvid)) {
if (!_copy_pv(pv, pvl->pv))
return_0;
@@ -303,7 +303,7 @@
return 0;
}
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (!(pvl->pv->vg_name = dm_pool_strdup(mem, new_name))) {
log_error("pv->vg_name allocation failed for '%s'",
pv_dev_name(pvl->pv));
@@ -318,11 +318,11 @@
struct volume_group *vg,
force_t force)
{
- struct list *lst;
+ struct dm_list *lst;
struct lv_list *lvl;
- while ((lst = list_first(&vg->lvs))) {
- lvl = list_item(lst, struct lv_list);
+ while ((lst = dm_list_first(&vg->lvs))) {
+ lvl = dm_list_item(lst, struct lv_list);
if (!lv_remove_with_dependencies(cmd, lvl->lv, force))
return 0;
}
@@ -378,7 +378,7 @@
}
/* init physical volumes */
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
log_verbose("Removing physical volume \"%s\" from "
"volume group \"%s\"", pv_dev_name(pv), vg_name);
@@ -534,14 +534,14 @@
vg->alloc = alloc;
vg->pv_count = 0;
- list_init(&vg->pvs);
+ dm_list_init(&vg->pvs);
vg->lv_count = 0;
- list_init(&vg->lvs);
+ dm_list_init(&vg->lvs);
vg->snapshot_count = 0;
- list_init(&vg->tags);
+ dm_list_init(&vg->tags);
if (!(vg->fid = cmd->fmt->ops->create_instance(cmd->fmt, vg_name,
NULL, NULL))) {
@@ -619,7 +619,7 @@
return_0;
/* foreach PV */
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
pv->pe_size = new_size;
@@ -632,7 +632,7 @@
return_0;
/* foreach free PV Segment */
- list_iterate_items(pvseg, &pv->segments) {
+ dm_list_iterate_items(pvseg, &pv->segments) {
if (pvseg_is_allocated(pvseg))
continue;
@@ -648,14 +648,14 @@
}
/* foreach LV */
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if (!_recalc_extents(&lv->le_count, lv->name, "", old_size,
new_size))
return_0;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!_recalc_extents(&seg->le, lv->name,
" segment start", old_size,
new_size))
@@ -721,13 +721,13 @@
struct volume_group *vg_from, struct volume_group *vg_to)
{
struct metadata_area *mda, *mda2;
- struct list *mdas_from, *mdas_to;
+ struct dm_list *mdas_from, *mdas_to;
int common_mda = 0;
mdas_from = &vg_from->fid->metadata_areas;
mdas_to = &vg_to->fid->metadata_areas;
- list_iterate_items_safe(mda, mda2, mdas_from) {
+ dm_list_iterate_items_safe(mda, mda2, mdas_from) {
if (!mda->ops->mda_in_vg) {
common_mda = 1;
continue;
@@ -735,14 +735,14 @@
if (!mda->ops->mda_in_vg(vg_from->fid, vg_from, mda)) {
if (is_orphan_vg(vg_to->name))
- list_del(&mda->list);
+ dm_list_del(&mda->list);
else
- list_move(mdas_to, &mda->list);
+ dm_list_move(mdas_to, &mda->list);
}
}
- if (list_empty(mdas_from) ||
- (!is_orphan_vg(vg_to->name) && list_empty(mdas_to)))
+ if (dm_list_empty(mdas_from) ||
+ (!is_orphan_vg(vg_to->name) && dm_list_empty(mdas_to)))
return common_mda;
return 1;
@@ -775,7 +775,7 @@
uint32_t existing_extent_count,
uint32_t existing_extent_size,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list *mdas)
+ uint64_t pvmetadatasize, struct dm_list *mdas)
{
return _pv_create(cmd->fmt, dev, id, size, pe_start,
existing_extent_count,
@@ -811,8 +811,8 @@
pv->status = ALLOCATABLE_PV;
- list_init(&pv->tags);
- list_init(&pv->segments);
+ dm_list_init(&pv->tags);
+ dm_list_init(&pv->segments);
return pv;
}
@@ -825,7 +825,7 @@
uint32_t existing_extent_count,
uint32_t existing_extent_size,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list *mdas)
+ uint64_t pvmetadatasize, struct dm_list *mdas)
{
struct dm_pool *mem = fmt->cmd->mem;
struct physical_volume *pv = _alloc_pv(mem, dev);
@@ -891,19 +891,19 @@
{
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs)
+ dm_list_iterate_items(pvl, &vg->pvs)
if (pvl->pv->dev == dev_cache_get(pv_name, vg->cmd->filter))
return pvl;
return NULL;
}
-struct pv_list *find_pv_in_pv_list(const struct list *pl,
+struct pv_list *find_pv_in_pv_list(const struct dm_list *pl,
const struct physical_volume *pv)
{
struct pv_list *pvl;
- list_iterate_items(pvl, pl)
+ dm_list_iterate_items(pvl, pl)
if (pvl->pv == pv)
return pvl;
@@ -914,7 +914,7 @@
{
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs)
+ dm_list_iterate_items(pvl, &vg->pvs)
if (pv == pvl->pv)
return 1;
@@ -945,7 +945,7 @@
{
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs)
+ dm_list_iterate_items(pvl, &vg->pvs)
if (id_equal(&pvl->pv->id, id))
return pvl->pv;
@@ -964,19 +964,19 @@
else
ptr = lv_name;
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (!strcmp(lvl->lv->name, ptr))
return lvl;
return NULL;
}
-struct lv_list *find_lv_in_lv_list(const struct list *ll,
+struct lv_list *find_lv_in_lv_list(const struct dm_list *ll,
const struct logical_volume *lv)
{
struct lv_list *lvl;
- list_iterate_items(lvl, ll)
+ dm_list_iterate_items(lvl, ll)
if (lvl->lv == lv)
return lvl;
@@ -988,7 +988,7 @@
{
struct lv_list *lvl;
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (!strncmp(lvl->lv->lvid.s, lvid->s, sizeof(*lvid)))
return lvl;
@@ -1006,7 +1006,7 @@
{
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs)
+ dm_list_iterate_items(pvl, &vg->pvs)
if (dev == pvl->pv->dev)
return pvl->pv;
@@ -1054,7 +1054,7 @@
{
struct lv_segment *seg;
- list_iterate_items(seg, &lv->segments)
+ dm_list_iterate_items(seg, &lv->segments)
if (le >= seg->le && le < seg->le + seg->len)
return seg;
@@ -1065,7 +1065,7 @@
{
struct lv_segment *seg = NULL;
- list_iterate_items(seg, &lv->segments)
+ dm_list_iterate_items(seg, &lv->segments)
break;
return seg;
@@ -1076,7 +1076,7 @@
{
struct pv_segment *peg;
- list_iterate_items(peg, &pv->segments)
+ dm_list_iterate_items(peg, &pv->segments)
if (pe >= peg->pe && pe < peg->pe + peg->len)
return peg;
@@ -1089,7 +1089,7 @@
/* FIXME Improve recovery situation? */
/* Remove each copy of the metadata */
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
if (mda->ops->vg_remove &&
!mda->ops->vg_remove(vg->fid, vg, mda))
return_0;
@@ -1154,10 +1154,10 @@
}
/* Check no conflicts with LV names */
- list_iterate_items(lvl1, &vg_to->lvs) {
+ dm_list_iterate_items(lvl1, &vg_to->lvs) {
name1 = lvl1->lv->name;
- list_iterate_items(lvl2, &vg_from->lvs) {
+ dm_list_iterate_items(lvl2, &vg_from->lvs) {
name2 = lvl2->lv->name;
if (!strcmp(name1, name2)) {
@@ -1171,7 +1171,7 @@
}
/* Check no PVs are constructed from either VG */
- list_iterate_items(pvl, &vg_to->pvs) {
+ dm_list_iterate_items(pvl, &vg_to->pvs) {
if (pv_uses_vg(pvl->pv, vg_from)) {
log_error("Physical volume %s might be constructed "
"from same volume group %s.",
@@ -1180,7 +1180,7 @@
}
}
- list_iterate_items(pvl, &vg_from->pvs) {
+ dm_list_iterate_items(pvl, &vg_from->pvs) {
if (pv_uses_vg(pvl->pv, vg_to)) {
log_error("Physical volume %s might be constructed "
"from same volume group %s.",
@@ -1228,7 +1228,7 @@
return_0;
}
- list_iterate_items(lvseg, &lv->segments) {
+ dm_list_iterate_items(lvseg, &lv->segments) {
if (lvseg->log_lv && !fn(lvseg->log_lv, data))
return_0;
for (s = 0; s < lvseg->area_count; ++s) {
@@ -1306,7 +1306,7 @@
struct _lv_mark_if_partial_baton baton;
struct lv_segment *lvseg;
- list_iterate_items(lvseg, &lv->segments) {
+ dm_list_iterate_items(lvseg, &lv->segments) {
for (s = 0; s < lvseg->area_count; ++s) {
if (seg_type(lvseg, s) == AREA_PV) {
if (seg_pv(lvseg, s)->status & MISSING_PV)
@@ -1339,7 +1339,7 @@
struct logical_volume *lv;
struct lv_list *lvl;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if (!_lv_mark_if_partial(lv))
return_0;
@@ -1357,8 +1357,8 @@
/* FIXME Also check there's no data/metadata overlap */
- list_iterate_items(pvl, &vg->pvs) {
- list_iterate_items(pvl2, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl2, &vg->pvs) {
if (pvl == pvl2)
break;
if (id_equal(&pvl->pv->id,
@@ -1387,17 +1387,17 @@
r = 0;
}
- if ((lv_count = (uint32_t) list_size(&vg->lvs)) !=
+ if ((lv_count = (uint32_t) dm_list_size(&vg->lvs)) !=
vg->lv_count + 2 * vg->snapshot_count) {
log_error("Internal error: #internal LVs (%u) != #LVs (%"
PRIu32 ") + 2 * #snapshots (%" PRIu32 ") in VG %s",
- list_size(&vg->lvs), vg->lv_count,
+ dm_list_size(&vg->lvs), vg->lv_count,
vg->snapshot_count, vg->name);
r = 0;
}
- list_iterate_items(lvl, &vg->lvs) {
- list_iterate_items(lvl2, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl2, &vg->lvs) {
if (lvl == lvl2)
break;
if (!strcmp(lvl->lv->name, lvl2->lv->name)) {
@@ -1420,7 +1420,7 @@
}
}
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (!check_lv_segments(lvl->lv, 1)) {
log_error("Internal error: LV segments corrupted in %s.",
lvl->lv->name);
@@ -1444,7 +1444,7 @@
*/
int vg_write(struct volume_group *vg)
{
- struct list *mdah;
+ struct dm_list *mdah;
struct metadata_area *mda;
if (!vg_validate(vg))
@@ -1461,7 +1461,7 @@
return 0;
}
- if (list_empty(&vg->fid->metadata_areas)) {
+ if (dm_list_empty(&vg->fid->metadata_areas)) {
log_error("Aborting vg_write: No metadata areas to write to!");
return 0;
}
@@ -1474,13 +1474,13 @@
vg->seqno++;
/* Write to each copy of the metadata area */
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
if (!mda->ops->vg_write) {
log_error("Format does not support writing volume"
"group metadata areas");
/* Revert */
- list_uniterate(mdah, &vg->fid->metadata_areas, &mda->list) {
- mda = list_item(mdah, struct metadata_area);
+ dm_list_uniterate(mdah, &vg->fid->metadata_areas, &mda->list) {
+ mda = dm_list_item(mdah, struct metadata_area);
if (mda->ops->vg_revert &&
!mda->ops->vg_revert(vg->fid, vg, mda)) {
@@ -1492,8 +1492,8 @@
if (!mda->ops->vg_write(vg->fid, vg, mda)) {
stack;
/* Revert */
- list_uniterate(mdah, &vg->fid->metadata_areas, &mda->list) {
- mda = list_item(mdah, struct metadata_area);
+ dm_list_uniterate(mdah, &vg->fid->metadata_areas, &mda->list) {
+ mda = dm_list_item(mdah, struct metadata_area);
if (mda->ops->vg_revert &&
!mda->ops->vg_revert(vg->fid, vg, mda)) {
@@ -1505,12 +1505,12 @@
}
/* Now pre-commit each copy of the new metadata */
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
if (mda->ops->vg_precommit &&
!mda->ops->vg_precommit(vg->fid, vg, mda)) {
stack;
/* Revert */
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
if (mda->ops->vg_revert &&
!mda->ops->vg_revert(vg->fid, vg, mda)) {
stack;
@@ -1537,7 +1537,7 @@
}
/* Commit to each copy of the metadata area */
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
failed = 0;
if (mda->ops->vg_commit &&
!mda->ops->vg_commit(vg->fid, vg, mda)) {
@@ -1565,7 +1565,7 @@
{
struct metadata_area *mda;
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
if (mda->ops->vg_revert &&
!mda->ops->vg_revert(vg->fid, vg, mda)) {
stack;
@@ -1598,9 +1598,9 @@
log_error("vg allocation failed");
return NULL;
}
- list_init(&vg->pvs);
- list_init(&vg->lvs);
- list_init(&vg->tags);
+ dm_list_init(&vg->pvs);
+ dm_list_init(&vg->lvs);
+ dm_list_init(&vg->tags);
vg->cmd = cmd;
if (!(vg->name = dm_pool_strdup(cmd->mem, orphan_vgname))) {
log_error("vg name allocation failed");
@@ -1616,7 +1616,7 @@
return NULL;
}
- list_iterate_items(info, &vginfo->infos) {
+ dm_list_iterate_items(info, &vginfo->infos) {
if (!(pv = _pv_read(cmd, dev_name(info->dev), NULL, NULL, 1))) {
continue;
}
@@ -1625,19 +1625,19 @@
return NULL;
}
pvl->pv = pv;
- list_add(&vg->pvs, &pvl->list);
+ dm_list_add(&vg->pvs, &pvl->list);
vg->pv_count++;
}
return vg;
}
-static int _update_pv_list(struct list *all_pvs, struct volume_group *vg)
+static int _update_pv_list(struct dm_list *all_pvs, struct volume_group *vg)
{
struct pv_list *pvl, *pvl2;
- list_iterate_items(pvl, &vg->pvs) {
- list_iterate_items(pvl2, all_pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl2, all_pvs) {
if (pvl->pv->dev == pvl2->pv->dev)
goto next_pv;
}
@@ -1648,7 +1648,7 @@
return 0;
}
pvl2->pv = pvl->pv;
- list_add(all_pvs, &pvl2->list);
+ dm_list_add(all_pvs, &pvl2->list);
next_pv:
;
}
@@ -1660,7 +1660,7 @@
{
int ret = 0;
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (pvl->pv->status & MISSING_PV)
++ ret;
}
@@ -1692,9 +1692,9 @@
int inconsistent_vgid = 0;
int inconsistent_pvs = 0;
unsigned use_precommitted = precommitted;
- struct list *pvids;
+ struct dm_list *pvids;
struct pv_list *pvl, *pvl2;
- struct list all_pvs;
+ struct dm_list all_pvs;
char uuid[64] __attribute((aligned(8)));
if (is_orphan_vg(vgname)) {
@@ -1748,7 +1748,7 @@
return_NULL;
/* Ensure contents of all metadata areas match - else do recovery */
- list_iterate_items(mda, &fid->metadata_areas) {
+ dm_list_iterate_items(mda, &fid->metadata_areas) {
if ((use_precommitted &&
!(vg = mda->ops->vg_read_precommit(fid, vgname, mda))) ||
(!use_precommitted &&
@@ -1775,8 +1775,8 @@
* orphans in the cache: update the cache state here.
*/
if (!inconsistent &&
- list_size(&correct_vg->pvs) > list_size(pvids)) {
- list_iterate_items(pvl, &correct_vg->pvs) {
+ dm_list_size(&correct_vg->pvs) > dm_list_size(pvids)) {
+ dm_list_iterate_items(pvl, &correct_vg->pvs) {
if (!pvl->pv->dev) {
inconsistent_pvs = 1;
break;
@@ -1791,7 +1791,7 @@
*/
if (!(info = info_from_pvid(pvl->pv->dev->pvid, 1)) ||
!info->vginfo || !is_orphan_vg(info->vginfo->vgname) ||
- list_size(&info->mdas)) {
+ dm_list_size(&info->mdas)) {
inconsistent_pvs = 1;
break;
}
@@ -1808,7 +1808,7 @@
}
}
- if (list_size(&correct_vg->pvs) != list_size(pvids)
+ if (dm_list_size(&correct_vg->pvs) != dm_list_size(pvids)
+ vg_missing_pv_count(correct_vg)) {
log_debug("Cached VG %s had incorrect PV list",
vgname);
@@ -1817,7 +1817,7 @@
inconsistent = 1;
else
correct_vg = NULL;
- } else list_iterate_items(pvl, &correct_vg->pvs) {
+ } else dm_list_iterate_items(pvl, &correct_vg->pvs) {
if (pvl->pv->status & MISSING_PV)
continue;
if (!str_list_match_item(pvids, pvl->pv->dev->pvid)) {
@@ -1829,7 +1829,7 @@
}
}
- list_init(&all_pvs);
+ dm_list_init(&all_pvs);
/* Failed to find VG where we expected it - full scan and retry */
if (!correct_vg) {
@@ -1851,7 +1851,7 @@
}
/* Ensure contents of all metadata areas match - else recover */
- list_iterate_items(mda, &fid->metadata_areas) {
+ dm_list_iterate_items(mda, &fid->metadata_areas) {
if ((use_precommitted &&
!(vg = mda->ops->vg_read_precommit(fid, vgname,
mda))) ||
@@ -1923,8 +1923,8 @@
return NULL;
}
- list_iterate_items(pvl, &all_pvs) {
- list_iterate_items(pvl2, &correct_vg->pvs) {
+ dm_list_iterate_items(pvl, &all_pvs) {
+ dm_list_iterate_items(pvl2, &correct_vg->pvs) {
if (pvl->pv->dev == pvl2->pv->dev)
goto next_pv;
}
@@ -1972,7 +1972,7 @@
return NULL;
}
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (!check_lv_segments(lvl->lv, 1)) {
log_error("Internal error: LV segments corrupted in %s.",
lvl->lv->name);
@@ -1992,7 +1992,7 @@
unsigned precommitted)
{
const char *vgname;
- struct list *vgnames;
+ struct dm_list *vgnames;
struct volume_group *vg;
struct lvmcache_vginfo *vginfo;
struct str_list *strl;
@@ -2027,7 +2027,7 @@
return NULL;
}
- list_iterate_items(strl, vgnames) {
+ dm_list_iterate_items(strl, vgnames) {
vgname = strl->str;
if (!vgname || is_orphan_vg(vgname))
continue; // FIXME Unnecessary?
@@ -2093,7 +2093,7 @@
* FIXME - liblvm todo - make into function that returns handle
*/
struct physical_volume *pv_read(struct cmd_context *cmd, const char *pv_name,
- struct list *mdas, uint64_t *label_sector,
+ struct dm_list *mdas, uint64_t *label_sector,
int warnings)
{
return _pv_read(cmd, pv_name, mdas, label_sector, warnings);
@@ -2102,7 +2102,7 @@
/* FIXME Use label functions instead of PV functions */
static struct physical_volume *_pv_read(struct cmd_context *cmd,
const char *pv_name,
- struct list *mdas,
+ struct dm_list *mdas,
uint64_t *label_sector,
int warnings)
{
@@ -2130,8 +2130,8 @@
return NULL;
}
- list_init(&pv->tags);
- list_init(&pv->segments);
+ dm_list_init(&pv->tags);
+ dm_list_init(&pv->segments);
/* FIXME Move more common code up here */
if (!(info->fmt->ops->pv_read(info->fmt, pv_name, pv, mdas))) {
@@ -2150,23 +2150,23 @@
}
/* May return empty list */
-struct list *get_vgs(struct cmd_context *cmd, int full_scan)
+struct dm_list *get_vgs(struct cmd_context *cmd, int full_scan)
{
return lvmcache_get_vgnames(cmd, full_scan);
}
-struct list *get_vgids(struct cmd_context *cmd, int full_scan)
+struct dm_list *get_vgids(struct cmd_context *cmd, int full_scan)
{
return lvmcache_get_vgids(cmd, full_scan);
}
-static int _get_pvs(struct cmd_context *cmd, struct list **pvslist)
+static int _get_pvs(struct cmd_context *cmd, struct dm_list **pvslist)
{
struct str_list *strl;
- struct list * uninitialized_var(results);
+ struct dm_list * uninitialized_var(results);
const char *vgname, *vgid;
- struct list *pvh, *tmp;
- struct list *vgids;
+ struct dm_list *pvh, *tmp;
+ struct dm_list *vgids;
struct volume_group *vg;
int consistent = 0;
int old_pvmove;
@@ -2179,7 +2179,7 @@
return 0;
}
- list_init(results);
+ dm_list_init(results);
}
/* Get list of VGs */
@@ -2192,7 +2192,7 @@
/* Orphan VG is last on list */
old_pvmove = pvmove_mode();
init_pvmove(1);
- list_iterate_items(strl, vgids) {
+ dm_list_iterate_items(strl, vgids) {
vgid = strl->str;
if (!vgid)
continue; /* FIXME Unnecessary? */
@@ -2211,8 +2211,8 @@
/* Move PVs onto results list */
if (pvslist)
- list_iterate_safe(pvh, tmp, &vg->pvs)
- list_add(results, pvh);
+ dm_list_iterate_safe(pvh, tmp, &vg->pvs)
+ dm_list_add(results, pvh);
}
init_pvmove(old_pvmove);
@@ -2224,9 +2224,9 @@
return 1;
}
-struct list *get_pvs(struct cmd_context *cmd)
+struct dm_list *get_pvs(struct cmd_context *cmd)
{
- struct list *results;
+ struct dm_list *results;
if (!_get_pvs(cmd, &results))
return NULL;
@@ -2242,14 +2242,14 @@
/* FIXME: liblvm todo - make into function that takes handle */
int pv_write(struct cmd_context *cmd __attribute((unused)),
struct physical_volume *pv,
- struct list *mdas, int64_t label_sector)
+ struct dm_list *mdas, int64_t label_sector)
{
return _pv_write(cmd, pv, mdas, label_sector);
}
static int _pv_write(struct cmd_context *cmd __attribute((unused)),
struct physical_volume *pv,
- struct list *mdas, int64_t label_sector)
+ struct dm_list *mdas, int64_t label_sector)
{
if (!pv->fmt->ops->pv_write) {
log_error("Format does not support writing physical volumes");
@@ -2354,7 +2354,7 @@
* Next, loop through metadata areas
*/
info = label->info;
- list_iterate_items(mda, &info->mdas)
+ dm_list_iterate_items(mda, &info->mdas)
mda->ops->pv_analyze_mda(info->fmt, mda);
return 1;
@@ -2525,8 +2525,8 @@
*/
pv_t *pv_by_path(struct cmd_context *cmd, const char *pv_name)
{
- struct list mdas;
+ struct dm_list mdas;
- list_init(&mdas);
+ dm_list_init(&mdas);
return _pv_read(cmd, pv_name, &mdas, NULL, 1);
}
--- LVM2/lib/metadata/metadata.h 2008/09/25 15:57:02 1.183
+++ LVM2/lib/metadata/metadata.h 2008/11/03 22:14:29 1.184
@@ -141,7 +141,7 @@
};
struct metadata_area {
- struct list list;
+ struct dm_list list;
struct metadata_area_ops *ops;
void *metadata_locn;
};
@@ -152,22 +152,22 @@
#define seg_le(seg, s) (seg)->areas[(s)].u.lv.le
struct name_list {
- struct list list;
+ struct dm_list list;
char *name;
};
struct mda_list {
- struct list list;
+ struct dm_list list;
struct device_area mda;
};
struct peg_list {
- struct list list;
+ struct dm_list list;
struct pv_segment *peg;
};
struct seg_list {
- struct list list;
+ struct dm_list list;
unsigned count;
struct lv_segment *seg;
};
@@ -185,7 +185,7 @@
* Return PV with given path.
*/
int (*pv_read) (const struct format_type * fmt, const char *pv_name,
- struct physical_volume * pv, struct list * mdas);
+ struct physical_volume * pv, struct dm_list * mdas);
/*
* Tweak an already filled out a pv ready for importing into a
@@ -195,7 +195,7 @@
uint64_t pe_start, uint32_t extent_count,
uint32_t extent_size,
int pvmetadatacopies,
- uint64_t pvmetadatasize, struct list * mdas,
+ uint64_t pvmetadatasize, struct dm_list * mdas,
struct physical_volume * pv, struct volume_group * vg);
/*
@@ -203,7 +203,7 @@
* pv->vg_name must be a valid orphan VG name
*/
int (*pv_write) (const struct format_type * fmt,
- struct physical_volume * pv, struct list * mdas,
+ struct physical_volume * pv, struct dm_list * mdas,
int64_t label_sector);
/*
@@ -265,7 +265,7 @@
struct lv_list *find_lv_in_vg_by_lvid(struct volume_group *vg,
const union lvid *lvid);
-struct lv_list *find_lv_in_lv_list(const struct list *ll,
+struct lv_list *find_lv_in_lv_list(const struct dm_list *ll,
const struct logical_volume *lv);
/* Return the VG that contains a given LV (based on path given in lv_name) */
@@ -280,7 +280,7 @@
/* FIXME Merge these functions with ones above */
struct physical_volume *find_pv(struct volume_group *vg, struct device *dev);
-struct pv_list *find_pv_in_pv_list(const struct list *pl,
+struct pv_list *find_pv_in_pv_list(const struct dm_list *pl,
const struct physical_volume *pv);
/* Find LV segment containing given LE */
--- LVM2/lib/metadata/mirror.c 2008/10/17 10:50:14 1.78
+++ LVM2/lib/metadata/mirror.c 2008/11/03 22:14:29 1.79
@@ -239,7 +239,7 @@
*/
static int _init_mirror_log(struct cmd_context *cmd,
struct logical_volume *log_lv, int in_sync,
- struct list *tags, int remove_on_failure)
+ struct dm_list *tags, int remove_on_failure)
{
struct str_list *sl;
struct lvinfo info;
@@ -263,7 +263,7 @@
log_lv->status |= VISIBLE_LV;
/* Temporary tag mirror log for activation */
- list_iterate_items(sl, tags)
+ dm_list_iterate_items(sl, tags)
if (!str_list_add(cmd->mem, &log_lv->tags, sl->str)) {
log_error("Aborting. Unable to tag mirror log.");
goto activate_lv;
@@ -284,7 +284,7 @@
}
/* Remove the temporary tags */
- list_iterate_items(sl, tags)
+ dm_list_iterate_items(sl, tags)
if (!str_list_del(&log_lv->tags, sl->str))
log_error("Failed to remove tag %s from mirror log.",
sl->str);
@@ -323,7 +323,7 @@
revert_new_lv:
log_lv->status = orig_status;
- list_iterate_items(sl, tags)
+ dm_list_iterate_items(sl, tags)
if (!str_list_del(&log_lv->tags, sl->str))
log_error("Failed to remove tag %s from mirror log.",
sl->str);
@@ -355,7 +355,7 @@
/* Inherit tags - maybe needed for activation */
if (!str_list_match_list(&mirror_lv->tags, &lv->tags)) {
- list_iterate_items(sl, &mirror_lv->tags)
+ dm_list_iterate_items(sl, &mirror_lv->tags)
if (!str_list_add(cmd->mem, &lv->tags, sl->str)) {
log_error("Aborting. Unable to tag.");
return 0;
@@ -381,9 +381,9 @@
}
static int _merge_mirror_images(struct logical_volume *lv,
- const struct list *mimages)
+ const struct dm_list *mimages)
{
- uint32_t addition = list_size(mimages);
+ uint32_t addition = dm_list_size(mimages);
struct logical_volume **img_lvs;
struct lv_list *lvl;
int i = 0;
@@ -394,7 +394,7 @@
if (!(img_lvs = alloca(sizeof(*img_lvs) * addition)))
return_0;
- list_iterate_items(lvl, mimages)
+ dm_list_iterate_items(lvl, mimages)
img_lvs[i++] = lvl->lv;
return lv_add_mirror_lvs(lv, img_lvs, addition,
@@ -420,7 +420,7 @@
/* Check if mirror image LV is removable with regard to given removable_pvs */
static int _is_mirror_image_removable(struct logical_volume *mimage_lv,
- struct list *removable_pvs)
+ struct dm_list *removable_pvs)
{
struct physical_volume *pv;
struct lv_segment *seg;
@@ -428,7 +428,7 @@
struct pv_list *pvl;
uint32_t s;
- list_iterate_items(seg, &mimage_lv->segments) {
+ dm_list_iterate_items(seg, &mimage_lv->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_PV) {
/* FIXME Recurse for AREA_LV? */
@@ -440,7 +440,7 @@
pv = seg_pv(seg, s);
pv_found = 0;
- list_iterate_items(pvl, removable_pvs) {
+ dm_list_iterate_items(pvl, removable_pvs) {
if (pv->dev->dev == pvl->pv->dev->dev) {
pv_found = 1;
break;
@@ -481,7 +481,7 @@
*/
static int _remove_mirror_images(struct logical_volume *lv,
uint32_t num_removed,
- struct list *removable_pvs,
+ struct dm_list *removable_pvs,
unsigned remove_log, unsigned collapse,
uint32_t *removed)
{
@@ -494,7 +494,7 @@
uint32_t old_area_count = mirrored_seg->area_count;
uint32_t new_area_count = mirrored_seg->area_count;
struct lv_list *lvl;
- struct list tmp_orphan_lvs;
+ struct dm_list tmp_orphan_lvs;
if (removed)
*removed = 0;
@@ -529,7 +529,7 @@
new_area_count = old_area_count - num_removed;
/* Remove mimage LVs from the segment */
- list_init(&tmp_orphan_lvs);
+ dm_list_init(&tmp_orphan_lvs);
for (m = new_area_count; m < mirrored_seg->area_count; m++) {
seg_lv(mirrored_seg, m)->status &= ~MIRROR_IMAGE;
seg_lv(mirrored_seg, m)->status |= VISIBLE_LV;
@@ -538,7 +538,7 @@
return 0;
}
lvl->lv = seg_lv(mirrored_seg, m);
- list_add(&tmp_orphan_lvs, &lvl->list);
+ dm_list_add(&tmp_orphan_lvs, &lvl->list);
release_lv_segment_area(mirrored_seg, m, mirrored_seg->area_len);
}
mirrored_seg->area_count = new_area_count;
@@ -615,7 +615,7 @@
/* Save or delete the 'orphan' LVs */
if (!collapse) {
- list_iterate_items(lvl, &tmp_orphan_lvs)
+ dm_list_iterate_items(lvl, &tmp_orphan_lvs)
if (!_delete_lv(lv, lvl->lv))
return_0;
}
@@ -651,7 +651,7 @@
* Remove the number of mirror images from the LV
*/
int remove_mirror_images(struct logical_volume *lv, uint32_t num_mirrors,
- struct list *removable_pvs, unsigned remove_log)
+ struct dm_list *removable_pvs, unsigned remove_log)
{
uint32_t num_removed, removed_once, r;
uint32_t existing_mirrors = lv_mirror_count(lv);
@@ -844,7 +844,7 @@
}
int reconfigure_mirror_images(struct lv_segment *mirrored_seg, uint32_t num_mirrors,
- struct list *removable_pvs, unsigned remove_log)
+ struct dm_list *removable_pvs, unsigned remove_log)
{
int r;
int in_sync;
@@ -961,7 +961,7 @@
uint32_t s;
/* Check the segment params are compatible */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!seg_is_mirrored(seg)) {
log_error("Segment is not mirrored: %s:%" PRIu32,
lv->name, seg->le);
@@ -975,7 +975,7 @@
}
/* Convert the segments */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!new_mirrors && seg->extents_copied == seg->area_len) {
if (!move_lv_segment_area(seg, 0, seg, 1))
return_0;
@@ -998,7 +998,7 @@
{
struct lv_segment *seg;
- list_iterate_items(seg, &lv_mirr->segments) {
+ dm_list_iterate_items(seg, &lv_mirr->segments) {
if (!seg_is_mirrored(seg))
continue;
if (seg_type(seg, 0) != AREA_PV)
@@ -1014,7 +1014,7 @@
struct lv_segment *seg;
uint32_t s;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_LV)
continue;
@@ -1034,14 +1034,14 @@
struct lv_segment *seg;
/* Loop through all LVs */
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if (!(lv->status & lv_type))
continue;
/* Check segment origins point to pvname */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (seg_type(seg, 0) != AREA_PV)
continue;
if (seg_dev(seg, 0) != dev)
@@ -1066,10 +1066,10 @@
return find_pvmove_lv(vg, pv->dev, lv_type);
}
-struct list *lvs_using_lv(struct cmd_context *cmd, struct volume_group *vg,
+struct dm_list *lvs_using_lv(struct cmd_context *cmd, struct volume_group *vg,
struct logical_volume *lv)
{
- struct list *lvs;
+ struct dm_list *lvs;
struct logical_volume *lv1;
struct lv_list *lvl, *lvl1;
struct lv_segment *seg;
@@ -1080,16 +1080,16 @@
return NULL;
}
- list_init(lvs);
+ dm_list_init(lvs);
/* Loop through all LVs except the one supplied */
- list_iterate_items(lvl1, &vg->lvs) {
+ dm_list_iterate_items(lvl1, &vg->lvs) {
lv1 = lvl1->lv;
if (lv1 == lv)
continue;
/* Find whether any segment points at the supplied LV */
- list_iterate_items(seg, &lv1->segments) {
+ dm_list_iterate_items(seg, &lv1->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_LV ||
seg_lv(seg, s) != lv)
@@ -1099,7 +1099,7 @@
return NULL;
}
lvl->lv = lv1;
- list_add(lvs, &lvl->list);
+ dm_list_add(lvs, &lvl->list);
goto next_lv;
}
}
@@ -1115,7 +1115,7 @@
uint32_t numerator = 0u, denominator = 0u;
struct lv_segment *seg;
- list_iterate_items(seg, &lv_mirr->segments) {
+ dm_list_iterate_items(seg, &lv_mirr->segments) {
denominator += seg->area_len;
if (seg_is_mirrored(seg) && seg->area_count > 1)
@@ -1135,8 +1135,8 @@
struct lv_list *lvl;
struct lv_segment *seg;
- list_iterate_items(lvl, &vg->lvs) {
- list_iterate_items(seg, &lvl->lv->segments) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(seg, &lvl->lv->segments) {
if (seg->segtype !=
get_segtype_from_string(vg->cmd, "mirror"))
continue;
@@ -1154,11 +1154,11 @@
*/
int add_mirrors_to_segments(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t region_size,
- struct list *allocatable_pvs, alloc_policy_t alloc)
+ struct dm_list *allocatable_pvs, alloc_policy_t alloc)
{
struct alloc_handle *ah;
const struct segment_type *segtype;
- struct list *parallel_areas;
+ struct dm_list *parallel_areas;
uint32_t adjusted_region_size;
if (!(parallel_areas = build_parallel_areas_from_lv(cmd, lv)))
@@ -1193,14 +1193,14 @@
*/
int remove_mirror_log(struct cmd_context *cmd,
struct logical_volume *lv,
- struct list *removable_pvs)
+ struct dm_list *removable_pvs)
{
float sync_percent;
struct lvinfo info;
struct volume_group *vg = lv->vg;
/* Unimplemented features */
- if (list_size(&lv->segments) != 1) {
+ if (dm_list_size(&lv->segments) != 1) {
log_error("Multiple-segment mirror is not supported");
return 0;
}
@@ -1340,11 +1340,11 @@
int add_mirror_log(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t log_count, uint32_t region_size,
- struct list *allocatable_pvs, alloc_policy_t alloc)
+ struct dm_list *allocatable_pvs, alloc_policy_t alloc)
{
struct alloc_handle *ah;
const struct segment_type *segtype;
- struct list *parallel_areas;
+ struct dm_list *parallel_areas;
float sync_percent;
int in_sync;
struct logical_volume *log_lv;
@@ -1356,7 +1356,7 @@
return 0;
}
- if (list_size(&lv->segments) != 1) {
+ if (dm_list_size(&lv->segments) != 1) {
log_error("Multiple-segment mirror is not supported");
return 0;
}
@@ -1418,12 +1418,12 @@
*/
int add_mirror_images(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t stripes, uint32_t region_size,
- struct list *allocatable_pvs, alloc_policy_t alloc,
+ struct dm_list *allocatable_pvs, alloc_policy_t alloc,
uint32_t log_count)
{
struct alloc_handle *ah;
const struct segment_type *segtype;
- struct list *parallel_areas;
+ struct dm_list *parallel_areas;
struct logical_volume **img_lvs;
struct logical_volume *log_lv = NULL;
@@ -1465,7 +1465,7 @@
/*
* insert a mirror layer
*/
- if (list_size(&lv->segments) != 1 ||
+ if (dm_list_size(&lv->segments) != 1 ||
seg_type(first_seg(lv), 0) != AREA_LV)
if (!insert_layer_for_lv(cmd, lv, 0, "_mimage_%d"))
goto out_remove_log;
@@ -1514,7 +1514,7 @@
int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t mirrors, uint32_t stripes,
uint32_t region_size, uint32_t log_count,
- struct list *pvs, alloc_policy_t alloc, uint32_t flags)
+ struct dm_list *pvs, alloc_policy_t alloc, uint32_t flags)
{
if (!mirrors && !log_count) {
log_error("No conversion is requested");
@@ -1565,7 +1565,7 @@
*/
int lv_remove_mirrors(struct cmd_context *cmd __attribute((unused)),
struct logical_volume *lv,
- uint32_t mirrors, uint32_t log_count, struct list *pvs,
+ uint32_t mirrors, uint32_t log_count, struct dm_list *pvs,
uint32_t status_mask)
{
uint32_t new_mirrors;
--- LVM2/lib/metadata/pv_alloc.h 2007/08/20 20:55:26 1.6
+++ LVM2/lib/metadata/pv_alloc.h 2008/11/03 22:14:29 1.7
@@ -15,7 +15,7 @@
#ifndef _LVM_PV_ALLOC_H
int alloc_pv_segment_whole_pv(struct dm_pool *mem, struct physical_volume *pv);
-int peg_dup(struct dm_pool *mem, struct list *peg_new, struct list *peg_old);
+int peg_dup(struct dm_pool *mem, struct dm_list *peg_new, struct dm_list *peg_old);
struct pv_segment *assign_peg_to_lvseg(struct physical_volume *pv, uint32_t pe,
uint32_t area_len,
struct lv_segment *seg,
--- LVM2/lib/metadata/pv_manip.c 2008/03/26 16:48:10 1.21
+++ LVM2/lib/metadata/pv_manip.c 2008/11/03 22:14:29 1.22
@@ -40,7 +40,7 @@
peg->lvseg = lvseg;
peg->lv_area = lv_area;
- list_init(&peg->list);
+ dm_list_init(&peg->list);
return peg;
}
@@ -56,23 +56,23 @@
if (!(peg = _alloc_pv_segment(mem, pv, 0, pv->pe_count, NULL, 0)))
return_0;
- list_add(&pv->segments, &peg->list);
+ dm_list_add(&pv->segments, &peg->list);
return 1;
}
-int peg_dup(struct dm_pool *mem, struct list *peg_new, struct list *peg_old)
+int peg_dup(struct dm_pool *mem, struct dm_list *peg_new, struct dm_list *peg_old)
{
struct pv_segment *peg, *pego;
- list_init(peg_new);
+ dm_list_init(peg_new);
- list_iterate_items(pego, peg_old) {
+ dm_list_iterate_items(pego, peg_old) {
if (!(peg = _alloc_pv_segment(mem, pego->pv, pego->pe,
pego->len, pego->lvseg,
pego->lv_area)))
return_0;
- list_add(peg_new, &peg->list);
+ dm_list_add(peg_new, &peg->list);
}
return 1;
@@ -94,7 +94,7 @@
peg->len = peg->len - peg_new->len;
- list_add_h(&peg->list, &peg_new->list);
+ dm_list_add_h(&peg->list, &peg_new->list);
if (peg->lvseg) {
peg->pv->pe_alloc_count -= peg_new->len;
@@ -199,7 +199,7 @@
{
peg1->len += peg2->len;
- list_del(&peg2->list);
+ dm_list_del(&peg2->list);
}
/*
@@ -223,16 +223,16 @@
/*
* Returns: number of free PEs in a struct pv_list
*/
-uint32_t pv_list_extents_free(const struct list *pvh)
+uint32_t pv_list_extents_free(const struct dm_list *pvh)
{
struct pv_list *pvl;
struct pe_range *per;
uint32_t extents = 0;
struct pv_segment *pvseg;
- list_iterate_items(pvl, pvh) {
- list_iterate_items(per, pvl->pe_ranges) {
- list_iterate_items(pvseg, &pvl->pv->segments) {
+ dm_list_iterate_items(pvl, pvh) {
+ dm_list_iterate_items(per, pvl->pe_ranges) {
+ dm_list_iterate_items(pvseg, &pvl->pv->segments) {
if (!pvseg_is_allocated(pvseg))
extents += _overlap_pe(pvseg, per);
}
@@ -255,14 +255,14 @@
uint32_t pv_count = 0, free_count = 0, extent_count = 0;
int ret = 1;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
segno = 0;
start_pe = 0;
alloced = 0;
pv_count++;
- list_iterate_items(peg, &pv->segments) {
+ dm_list_iterate_items(peg, &pv->segments) {
s = peg->lv_area;
/* FIXME Remove this next line eventually */
@@ -347,7 +347,7 @@
}
/* Check PEs to be removed are not already allocated */
- list_iterate_items(peg, &pv->segments) {
+ dm_list_iterate_items(peg, &pv->segments) {
if (peg->pe + peg->len <= new_pe_count)
continue;
@@ -362,9 +362,9 @@
if (!pv_split_segment(pv, new_pe_count))
return_0;
- list_iterate_items_safe(peg, pegt, &pv->segments) {
+ dm_list_iterate_items_safe(peg, pegt, &pv->segments) {
if (peg->pe + peg->len > new_pe_count)
- list_del(&peg->list);
+ dm_list_del(&peg->list);
}
pv->pe_count = new_pe_count;
@@ -392,7 +392,7 @@
old_pe_count,
new_pe_count - old_pe_count,
NULL, 0);
- list_add(&pv->segments, &peg->list);
+ dm_list_add(&pv->segments, &peg->list);
pv->pe_count = new_pe_count;
--- LVM2/lib/metadata/pv_map.c 2008/01/30 14:00:00 1.31
+++ LVM2/lib/metadata/pv_map.c 2008/11/03 22:14:29 1.32
@@ -22,16 +22,16 @@
*
* FIXME Cope with overlap.
*/
-static void _insert_area(struct list *head, struct pv_area *a)
+static void _insert_area(struct dm_list *head, struct pv_area *a)
{
struct pv_area *pva;
- list_iterate_items(pva, head) {
+ dm_list_iterate_items(pva, head) {
if (a->count > pva->count)
break;
}
- list_add(&pva->list, &a->list);
+ dm_list_add(&pva->list, &a->list);
a->map->pe_count += a->count;
}
@@ -67,7 +67,7 @@
pe = start;
/* Walk through complete ordered list of device segments */
- list_iterate_items(peg, &pvm->pv->segments) {
+ dm_list_iterate_items(peg, &pvm->pv->segments) {
/* pe holds the next extent we want to check */
/* Beyond the range we're interested in? */
@@ -97,7 +97,7 @@
}
static int _create_all_areas_for_pv(struct dm_pool *mem, struct pv_map *pvm,
- struct list *pe_ranges)
+ struct dm_list *pe_ranges)
{
struct pe_range *aa;
@@ -110,7 +110,7 @@
return 1;
}
- list_iterate_items(aa, pe_ranges) {
+ dm_list_iterate_items(aa, pe_ranges) {
if (!_create_alloc_areas_for_pv(mem, pvm, aa->start,
aa->count))
return_0;
@@ -119,18 +119,18 @@
return 1;
}
-static int _create_maps(struct dm_pool *mem, struct list *pvs, struct list *pvms)
+static int _create_maps(struct dm_pool *mem, struct dm_list *pvs, struct dm_list *pvms)
{
struct pv_map *pvm, *pvm2;
struct pv_list *pvl;
- list_iterate_items(pvl, pvs) {
+ dm_list_iterate_items(pvl, pvs) {
if (!(pvl->pv->status & ALLOCATABLE_PV))
continue;
pvm = NULL;
- list_iterate_items(pvm2, pvms)
+ dm_list_iterate_items(pvm2, pvms)
if (pvm2->pv->dev == pvl->pv->dev) {
pvm = pvm2;
break;
@@ -141,8 +141,8 @@
return_0;
pvm->pv = pvl->pv;
- list_init(&pvm->areas);
- list_add(pvms, &pvm->list);
+ dm_list_init(&pvm->areas);
+ dm_list_add(pvms, &pvm->list);
}
if (!_create_all_areas_for_pv(mem, pvm, pvl->pe_ranges))
@@ -155,17 +155,17 @@
/*
* Create list of PV areas available for this particular allocation
*/
-struct list *create_pv_maps(struct dm_pool *mem, struct volume_group *vg,
- struct list *allocatable_pvs)
+struct dm_list *create_pv_maps(struct dm_pool *mem, struct volume_group *vg,
+ struct dm_list *allocatable_pvs)
{
- struct list *pvms;
+ struct dm_list *pvms;
if (!(pvms = dm_pool_zalloc(mem, sizeof(*pvms)))) {
log_error("create_pv_maps alloc failed");
return NULL;
}
- list_init(pvms);
+ dm_list_init(pvms);
if (!_create_maps(mem, allocatable_pvs, pvms)) {
log_error("Couldn't create physical volume maps in %s",
@@ -179,7 +179,7 @@
void consume_pv_area(struct pv_area *pva, uint32_t to_go)
{
- list_del(&pva->list);
+ dm_list_del(&pva->list);
pva->map->pe_count -= pva->count;
assert(to_go <= pva->count);
@@ -192,12 +192,12 @@
}
}
-uint32_t pv_maps_size(struct list *pvms)
+uint32_t pv_maps_size(struct dm_list *pvms)
{
struct pv_map *pvm;
uint32_t pe_count = 0;
- list_iterate_items(pvm, pvms)
+ dm_list_iterate_items(pvm, pvms)
pe_count += pvm->pe_count;
return pe_count;
--- LVM2/lib/metadata/pv_map.h 2007/08/20 20:55:26 1.9
+++ LVM2/lib/metadata/pv_map.h 2008/11/03 22:14:29 1.10
@@ -31,25 +31,25 @@
uint32_t start;
uint32_t count;
- struct list list; /* pv_map.areas */
+ struct dm_list list; /* pv_map.areas */
};
struct pv_map {
struct physical_volume *pv;
- struct list areas; /* struct pv_areas */
+ struct dm_list areas; /* struct pv_areas */
uint32_t pe_count; /* Total number of PEs */
- struct list list;
+ struct dm_list list;
};
/*
* Find intersection between available_pvs and free space in VG
*/
-struct list *create_pv_maps(struct dm_pool *mem, struct volume_group *vg,
- struct list *allocatable_pvs);
+struct dm_list *create_pv_maps(struct dm_pool *mem, struct volume_group *vg,
+ struct dm_list *allocatable_pvs);
void consume_pv_area(struct pv_area *area, uint32_t to_go);
-uint32_t pv_maps_size(struct list *pvms);
+uint32_t pv_maps_size(struct dm_list *pvms);
#endif
--- LVM2/lib/metadata/segtype.c 2008/01/30 14:00:00 1.3
+++ LVM2/lib/metadata/segtype.c 2008/11/03 22:14:29 1.4
@@ -22,7 +22,7 @@
{
struct segment_type *segtype;
- list_iterate_items(segtype, &cmd->segtypes) {
+ dm_list_iterate_items(segtype, &cmd->segtypes) {
if (!strcmp(segtype->name, str))
return segtype;
}
--- LVM2/lib/metadata/segtype.h 2008/07/15 00:25:51 1.21
+++ LVM2/lib/metadata/segtype.h 2008/11/03 22:14:29 1.22
@@ -47,7 +47,7 @@
#define segtype_is_virtual(segtype) ((segtype)->flags & SEG_VIRTUAL ? 1 : 0)
struct segment_type {
- struct list list;
+ struct dm_list list;
struct cmd_context *cmd;
uint32_t flags;
struct segtype_handler *ops;
@@ -82,7 +82,7 @@
unsigned *attributes);
int (*modules_needed) (struct dm_pool *mem,
const struct lv_segment *seg,
- struct list *modules);
+ struct dm_list *modules);
void (*destroy) (const struct segment_type * segtype);
int (*target_monitored) (struct lv_segment *seg, int *pending);
int (*target_monitor_events) (struct lv_segment *seg, int events);
--- LVM2/lib/metadata/snapshot_manip.c 2008/01/30 14:00:00 1.31
+++ LVM2/lib/metadata/snapshot_manip.c 2008/11/03 22:14:29 1.32
@@ -90,14 +90,14 @@
cow->status &= ~VISIBLE_LV;
- list_add(&origin->snapshot_segs, &seg->origin_list);
+ dm_list_add(&origin->snapshot_segs, &seg->origin_list);
return 1;
}
int vg_remove_snapshot(struct logical_volume *cow)
{
- list_del(&cow->snapshot->origin_list);
+ dm_list_del(&cow->snapshot->origin_list);
cow->snapshot->origin->origin_count--;
if (!lv_remove(cow->snapshot->lv)) {
--- LVM2/lib/mirror/Makefile.in 2007/09/21 10:16:44 1.4
+++ LVM2/lib/mirror/Makefile.in 2008/11/03 22:14:29 1.5
@@ -19,6 +19,7 @@
SOURCES = mirrored.c
LIB_SHARED = liblvm2mirror.so
+LIB_VERSION = $(LIB_VERSION_LVM)
include $(top_srcdir)/make.tmpl
--- LVM2/lib/mirror/mirrored.c 2008/10/31 22:41:51 1.58
+++ LVM2/lib/mirror/mirrored.c 2008/11/03 22:14:29 1.59
@@ -512,7 +512,7 @@
static int _mirrored_modules_needed(struct dm_pool *mem,
const struct lv_segment *seg,
- struct list *modules)
+ struct dm_list *modules)
{
if (seg->log_lv &&
!list_segment_modules(mem, first_seg(seg->log_lv), modules))
--- LVM2/lib/report/report.c 2008/09/19 06:41:59 1.88
+++ LVM2/lib/report/report.c 2008/11/03 22:14:29 1.89
@@ -173,7 +173,7 @@
struct dm_report_field *field,
const void *data, void *private __attribute((unused)))
{
- const struct list *tags = (const struct list *) data;
+ const struct dm_list *tags = (const struct dm_list *) data;
struct str_list *sl;
if (!dm_pool_begin_object(mem, 256)) {
@@ -181,7 +181,7 @@
return 0;
}
- list_iterate_items(sl, tags) {
+ dm_list_iterate_items(sl, tags) {
if (!dm_pool_grow_object(mem, sl->str, strlen(sl->str)) ||
(sl->list.n != tags && !dm_pool_grow_object(mem, ",", 1))) {
log_error("dm_pool_grow_object failed");
@@ -204,7 +204,7 @@
const void *data, void *private)
{
const struct logical_volume *lv = (const struct logical_volume *) data;
- struct list *modules;
+ struct dm_list *modules;
if (!(modules = str_list_create(mem))) {
log_error("modules str_list allocation failed");
@@ -492,7 +492,7 @@
const struct logical_volume *lv = (const struct logical_volume *) data;
struct lv_segment *seg;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!seg_is_mirrored(seg) || !seg->log_lv)
continue;
return dm_report_field_string(rh, field,
@@ -545,7 +545,7 @@
const char *name;
struct lv_segment *seg;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!(seg->status & PVMOVE))
continue;
name = dev_name(seg_dev(seg, 0));
@@ -842,7 +842,7 @@
const char *pvid = (const char *)(&((struct id *) data)->uuid);
info = info_from_pvid(pvid, 0);
- count = info ? list_size(&info->mdas) : 0;
+ count = info ? dm_list_size(&info->mdas) : 0;
return _uint32_disp(rh, mem, field, &count, private);
}
@@ -854,7 +854,7 @@
const struct volume_group *vg = (const struct volume_group *) data;
uint32_t count;
- count = list_size(&vg->fid->metadata_areas);
+ count = dm_list_size(&vg->fid->metadata_areas);
return _uint32_disp(rh, mem, field, &count, private);
}
@@ -870,7 +870,7 @@
info = info_from_pvid(pvid, 0);
- list_iterate_items(mda, &info->mdas) {
+ dm_list_iterate_items(mda, &info->mdas) {
if (!mda->ops->mda_free_sectors)
continue;
mda_free = mda->ops->mda_free_sectors(mda);
@@ -892,7 +892,7 @@
uint64_t freespace = UINT64_MAX, mda_free;
struct metadata_area *mda;
- list_iterate_items(mda, &vg->fid->metadata_areas) {
+ dm_list_iterate_items(mda, &vg->fid->metadata_areas) {
if (!mda->ops->mda_free_sectors)
continue;
mda_free = mda->ops->mda_free_sectors(mda);
@@ -914,7 +914,7 @@
struct lv_list *lvl;
uint32_t count = 0;
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (lv_is_visible(lvl->lv) && !(lvl->lv->status & SNAPSHOT))
count++;
@@ -928,7 +928,7 @@
const struct logical_volume *lv = (const struct logical_volume *) data;
uint32_t count;
- count = list_size(&lv->segments);
+ count = dm_list_size(&lv->segments);
return _uint32_disp(rh, mem, field, &count, private);
}
--- LVM2/lib/snapshot/Makefile.in 2007/09/21 10:16:44 1.4
+++ LVM2/lib/snapshot/Makefile.in 2008/11/03 22:14:29 1.5
@@ -19,6 +19,7 @@
SOURCES = snapshot.c
LIB_SHARED = liblvm2snapshot.so
+LIB_VERSION = $(LIB_VERSION_LVM)
include $(top_srcdir)/make.tmpl
--- LVM2/lib/snapshot/snapshot.c 2008/10/31 22:41:51 1.32
+++ LVM2/lib/snapshot/snapshot.c 2008/11/03 22:14:29 1.33
@@ -254,7 +254,7 @@
static int _snap_modules_needed(struct dm_pool *mem,
const struct lv_segment *seg __attribute((unused)),
- struct list *modules)
+ struct dm_list *modules)
{
if (!str_list_add(mem, modules, "snapshot")) {
log_error("snapshot string list allocation failed");
--- LVM2/lib/zero/zero.c 2008/04/07 10:23:47 1.17
+++ LVM2/lib/zero/zero.c 2008/11/03 22:14:29 1.18
@@ -67,7 +67,7 @@
static int _zero_modules_needed(struct dm_pool *mem,
const struct lv_segment *seg __attribute((unused)),
- struct list *modules)
+ struct dm_list *modules)
{
if (!str_list_add(mem, modules, "zero")) {
log_error("zero module string list allocation failed");
--- LVM2/libdm/Makefile.in 2008/11/03 18:59:59 1.40
+++ LVM2/libdm/Makefile.in 2008/11/03 22:14:29 1.41
@@ -15,7 +15,6 @@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
-interface = @interface@
SOURCES =\
datastruct/bitset.c \
@@ -42,7 +41,8 @@
else
LIB_SHARED = $(interface)/libdevmapper.so
endif
-VERSIONED_SHLIB = libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)
+VERSIONED_SHLIB = libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION_DM)
+LIB_VERSION = $(LIB_VERSION_DM)
DEFS += -DDM_DEVICE_UID=@DM_DEVICE_UID@ -DDM_DEVICE_GID=@DM_DEVICE_GID@ \
-DDM_DEVICE_MODE=@DM_DEVICE_MODE@
@@ -72,15 +72,15 @@
$(includedir)/libdevmapper.h
install_dynamic: install_@interface@
- $(LN_S) -f libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION) \
+ $(LN_S) -f libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION_DM) \
$(libdir)/libdevmapper.$(LIB_SUFFIX)
install_static: install_@interface@_static
- $(LN_S) -f libdevmapper.a.$(LIB_VERSION) $(libdir)/libdevmapper.a
+ $(LN_S) -f libdevmapper.a.$(LIB_VERSION_DM) $(libdir)/libdevmapper.a
install_ioctl: ioctl/libdevmapper.$(LIB_SUFFIX)
$(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \
- $(libdir)/libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)
+ $(libdir)/libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION_DM)
install_pkgconfig:
$(INSTALL) -D $(OWNER) $(GROUP) -m 444 libdevmapper.pc \
@@ -88,11 +88,13 @@
install_ioctl_static: ioctl/libdevmapper.a
$(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \
- $(libdir)/libdevmapper.a.$(LIB_VERSION)
+ $(libdir)/libdevmapper.a.$(LIB_VERSION_DM)
-$(VERSIONED_SHLIB): %.$(LIB_SUFFIX).$(LIB_VERSION): $(interface)/%.$(LIB_SUFFIX)
+$(VERSIONED_SHLIB): %.$(LIB_SUFFIX).$(LIB_VERSION_DM): $(interface)/%.$(LIB_SUFFIX)
rm -f $@
$(LN_S) $< $@
+ rm -f libdevmapper.so
+ $(LN_S) $< libdevmapper.so
.PHONY: distclean_lib distclean
--- LVM2/libdm/libdm-common.c 2008/11/03 18:59:59 1.61
+++ LVM2/libdm/libdm-common.c 2008/11/03 22:14:29 1.62
@@ -506,10 +506,10 @@
return 1;
}
-static LIST_INIT(_node_ops);
+static DM_LIST_INIT(_node_ops);
struct node_op_parms {
- struct list list;
+ struct dm_list list;
node_op_t type;
char *dev_name;
uint32_t major;
@@ -536,7 +536,7 @@
uint32_t read_ahead_flags)
{
struct node_op_parms *nop;
- struct list *noph, *nopht;
+ struct dm_list *noph, *nopht;
size_t len = strlen(dev_name) + strlen(old_name) + 2;
char *pos;
@@ -544,10 +544,10 @@
* Ignore any outstanding operations on the node if deleting it
*/
if (type == NODE_DEL) {
- list_iterate_safe(noph, nopht, &_node_ops) {
- nop = list_item(noph, struct node_op_parms);
+ dm_list_iterate_safe(noph, nopht, &_node_ops) {
+ nop = dm_list_item(noph, struct node_op_parms);
if (!strcmp(dev_name, nop->dev_name)) {
- list_del(&nop->list);
+ dm_list_del(&nop->list);
dm_free(nop);
}
}
@@ -571,22 +571,22 @@
_store_str(&pos, &nop->dev_name, dev_name);
_store_str(&pos, &nop->old_name, old_name);
- list_add(&_node_ops, &nop->list);
+ dm_list_add(&_node_ops, &nop->list);
return 1;
}
static void _pop_node_ops(void)
{
- struct list *noph, *nopht;
+ struct dm_list *noph, *nopht;
struct node_op_parms *nop;
- list_iterate_safe(noph, nopht, &_node_ops) {
- nop = list_item(noph, struct node_op_parms);
+ dm_list_iterate_safe(noph, nopht, &_node_ops) {
+ nop = dm_list_item(noph, struct node_op_parms);
_do_node_op(nop->type, nop->dev_name, nop->major, nop->minor,
nop->uid, nop->gid, nop->mode, nop->old_name,
nop->read_ahead, nop->read_ahead_flags);
- list_del(&nop->list);
+ dm_list_del(&nop->list);
dm_free(nop);
}
}
--- LVM2/libdm/libdm-deptree.c 2008/11/03 18:59:59 1.45
+++ LVM2/libdm/libdm-deptree.c 2008/11/03 22:14:29 1.46
@@ -55,7 +55,7 @@
/* Some segment types have a list of areas of other devices attached */
struct seg_area {
- struct list list;
+ struct dm_list list;
struct dm_tree_node *dev_node;
@@ -64,14 +64,14 @@
/* Per-segment properties */
struct load_segment {
- struct list list;
+ struct dm_list list;
unsigned type;
uint64_t size;
unsigned area_count; /* Linear + Striped + Mirrored */
- struct list areas; /* Linear + Striped + Mirrored */
+ struct dm_list areas; /* Linear + Striped + Mirrored */
uint32_t stripe_size; /* Striped */
@@ -99,14 +99,14 @@
unsigned segment_count;
unsigned size_changed;
- struct list segs;
+ struct dm_list segs;
const char *new_name;
};
/* Two of these used to join two nodes with uses and used_by. */
struct dm_tree_link {
- struct list list;
+ struct dm_list list;
struct dm_tree_node *node;
};
@@ -117,8 +117,8 @@
const char *uuid;
struct dm_info info;
- struct list uses; /* Nodes this node uses */
- struct list used_by; /* Nodes that use this node */
+ struct dm_list uses; /* Nodes this node uses */
+ struct dm_list used_by; /* Nodes that use this node */
int activation_priority; /* 0 gets activated first */
@@ -163,8 +163,8 @@
memset(dtree, 0, sizeof(*dtree));
dtree->root.dtree = dtree;
- list_init(&dtree->root.uses);
- list_init(&dtree->root.used_by);
+ dm_list_init(&dtree->root.uses);
+ dm_list_init(&dtree->root.used_by);
dtree->skip_lockfs = 0;
dtree->no_flush = 0;
@@ -208,14 +208,14 @@
{
struct dm_tree_link *dlink;
- list_iterate_items(dlink, &parent->uses)
+ dm_list_iterate_items(dlink, &parent->uses)
if (dlink->node == child)
return 1;
return 0;
}
-static int _link(struct list *list, struct dm_tree_node *node)
+static int _link(struct dm_list *list, struct dm_tree_node *node)
{
struct dm_tree_link *dlink;
@@ -225,7 +225,7 @@
}
dlink->node = node;
- list_add(list, &dlink->list);
+ dm_list_add(list, &dlink->list);
return 1;
}
@@ -245,13 +245,13 @@
return 1;
}
-static void _unlink(struct list *list, struct dm_tree_node *node)
+static void _unlink(struct dm_list *list, struct dm_tree_node *node)
{
struct dm_tree_link *dlink;
- list_iterate_items(dlink, list)
+ dm_list_iterate_items(dlink, list)
if (dlink->node == node) {
- list_del(&dlink->list);
+ dm_list_del(&dlink->list);
break;
}
}
@@ -326,9 +326,9 @@
node->context = context;
node->activation_priority = 0;
- list_init(&node->uses);
- list_init(&node->used_by);
- list_init(&node->props.segs);
+ dm_list_init(&node->uses);
+ dm_list_init(&node->used_by);
+ dm_list_init(&node->props.segs);
dev = MKDEV(info->major, info->minor);
@@ -662,13 +662,13 @@
if (inverted) {
if (_nodes_are_linked(&node->dtree->root, node))
return 0;
- return list_size(&node->used_by);
+ return dm_list_size(&node->used_by);
}
if (_nodes_are_linked(node, &node->dtree->root))
return 0;
- return list_size(&node->uses);
+ return dm_list_size(&node->uses);
}
/*
@@ -706,7 +706,7 @@
const char *uuid_prefix,
size_t uuid_prefix_len)
{
- struct list *list;
+ struct dm_list *list;
struct dm_tree_link *dlink;
const struct dm_info *dinfo;
const char *uuid;
@@ -721,7 +721,7 @@
list = &node->uses;
}
- list_iterate_items(dlink, list) {
+ dm_list_iterate_items(dlink, list) {
if (!(uuid = dm_tree_node_get_uuid(dlink->node))) {
stack;
continue;
@@ -776,8 +776,8 @@
struct dm_tree_node *parent,
uint32_t inverted)
{
- struct list **dlink = (struct list **) handle;
- struct list *use_list;
+ struct dm_list **dlink = (struct dm_list **) handle;
+ struct dm_list *use_list;
if (inverted)
use_list = &parent->used_by;
@@ -785,11 +785,11 @@
use_list = &parent->uses;
if (!*dlink)
- *dlink = list_first(use_list);
+ *dlink = dm_list_first(use_list);
else
- *dlink = list_next(use_list, *dlink);
+ *dlink = dm_list_next(use_list, *dlink);
- return (*dlink) ? list_item(*dlink, struct dm_tree_link)->node : NULL;
+ return (*dlink) ? dm_list_item(*dlink, struct dm_tree_link)->node : NULL;
}
/*
@@ -1248,7 +1248,7 @@
int tw;
const char *prefix = "";
- list_iterate_items(area, &seg->areas) {
+ dm_list_iterate_items(area, &seg->areas) {
if (!_build_dev_string(devbuf, sizeof(devbuf), area->dev_node))
return_0;
@@ -1483,7 +1483,7 @@
if (!dm_task_no_open_count(dmt))
log_error("Failed to disable open_count");
- list_iterate_items(seg, &dnode->props.segs)
+ dm_list_iterate_items(seg, &dnode->props.segs)
if (!_emit_segment(dmt, seg, &seg_start))
goto_out;
@@ -1616,14 +1616,14 @@
seg->type = type;
seg->size = size;
seg->area_count = 0;
- list_init(&seg->areas);
+ dm_list_init(&seg->areas);
seg->stripe_size = 0;
seg->persistent = 0;
seg->chunk_size = 0;
seg->cow = NULL;
seg->origin = NULL;
- list_add(&dnode->props.segs, &seg->list);
+ dm_list_add(&dnode->props.segs, &seg->list);
dnode->props.segment_count++;
return seg;
@@ -1747,7 +1747,7 @@
return 0;
}
- seg = list_item(list_last(&node->props.segs), struct load_segment);
+ seg = dm_list_item(dm_list_last(&node->props.segs), struct load_segment);
if (log_uuid) {
if (!(seg->uuid = dm_pool_strdup(node->dtree->mem, log_uuid))) {
@@ -1797,7 +1797,7 @@
area->dev_node = dev_node;
area->offset = offset;
- list_add(&seg->areas, &area->list);
+ dm_list_add(&seg->areas, &area->list);
seg->area_count++;
return 1;
@@ -1845,7 +1845,7 @@
return 0;
}
- seg = list_item(list_last(&node->props.segs), struct load_segment);
+ seg = dm_list_item(dm_list_last(&node->props.segs), struct load_segment);
if (!_add_area(node, seg, dev_node, offset))
return_0;
--- LVM2/libdm/libdm-report.c 2008/11/03 18:59:59 1.25
+++ LVM2/libdm/libdm-report.c 2008/11/03 22:14:29 1.26
@@ -35,10 +35,10 @@
uint32_t keys_count;
/* Ordered list of fields needed for this report */
- struct list field_props;
+ struct dm_list field_props;
/* Rows of report data */
- struct list rows;
+ struct dm_list rows;
/* Array of field definitions */
const struct dm_report_field_type *fields;
@@ -57,7 +57,7 @@
#define FLD_DESCENDING 0x00000800
struct field_properties {
- struct list list;
+ struct dm_list list;
uint32_t field_num;
uint32_t sort_posn;
int32_t width;
@@ -69,7 +69,7 @@
* Report data field
*/
struct dm_report_field {
- struct list list;
+ struct dm_list list;
struct field_properties *props;
const char *report_string; /* Formatted ready for display */
@@ -77,9 +77,9 @@
};
struct row {
- struct list list;
+ struct dm_list list;
struct dm_report *rh;
- struct list fields; /* Fields in display order */
+ struct dm_list fields; /* Fields in display order */
struct dm_report_field *(*sort_fields)[]; /* Fields in sort order */
};
@@ -317,13 +317,13 @@
fp->flags |= flags;
/*
- * Place hidden fields at the front so list_end() will
+ * Place hidden fields at the front so dm_list_end() will
* tell us when we've reached the last visible field.
*/
if (fp->flags & FLD_HIDDEN)
- list_add_h(&rh->field_props, &fp->list);
+ dm_list_add_h(&rh->field_props, &fp->list);
else
- list_add(&rh->field_props, &fp->list);
+ dm_list_add(&rh->field_props, &fp->list);
return fp;
}
@@ -372,7 +372,7 @@
{
struct field_properties *fp, *found = NULL;
- list_iterate_items(fp, &rh->field_props) {
+ dm_list_iterate_items(fp, &rh->field_props) {
if (fp->field_num == field_num) {
found = fp;
break;
@@ -521,8 +521,8 @@
if (output_flags & DM_REPORT_OUTPUT_BUFFERED)
rh->flags |= RH_SORT_REQUIRED;
- list_init(&rh->field_props);
- list_init(&rh->rows);
+ dm_list_init(&rh->field_props);
+ dm_list_init(&rh->rows);
if ((type = _find_type(rh, rh->report_types)) && type->prefix)
rh->field_prefix = type->prefix;
@@ -621,11 +621,11 @@
return 0;
}
- list_init(&row->fields);
- list_add(&rh->rows, &row->list);
+ dm_list_init(&row->fields);
+ dm_list_add(&rh->rows, &row->list);
/* For each field to be displayed, call its report_fn */
- list_iterate_items(fp, &rh->field_props) {
+ dm_list_iterate_items(fp, &rh->field_props) {
if (!(field = dm_pool_zalloc(rh->mem, sizeof(*field)))) {
log_error("dm_report_object: "
"struct dm_report_field allocation failed");
@@ -653,7 +653,7 @@
(field->props->flags & FLD_SORT_KEY)) {
(*row->sort_fields)[field->props->sort_posn] = field;
}
- list_add(&row->fields, &field->list);
+ dm_list_add(&row->fields, &field->list);
}
if (!(rh->flags & DM_REPORT_OUTPUT_BUFFERED))
@@ -686,7 +686,7 @@
}
/* First heading line */
- list_iterate_items(fp, &rh->field_props) {
+ dm_list_iterate_items(fp, &rh->field_props) {
if (fp->flags & FLD_HIDDEN)
continue;
@@ -706,7 +706,7 @@
goto bad;
}
- if (!list_end(&rh->field_props, &fp->list))
+ if (!dm_list_end(&rh->field_props, &fp->list))
if (!dm_pool_grow_object(rh->mem, rh->separator, 0)) {
log_error("dm_report: Failed to generate report headings for printing");
goto bad;
@@ -778,19 +778,19 @@
struct row *row;
if (!(rows = dm_pool_alloc(rh->mem, sizeof(**rows) *
- list_size(&rh->rows)))) {
+ dm_list_size(&rh->rows)))) {
log_error("dm_report: sort array allocation failed");
return 0;
}
- list_iterate_items(row, &rh->rows)
+ dm_list_iterate_items(row, &rh->rows)
(*rows)[count++] = row;
qsort(rows, count, sizeof(**rows), _row_compare);
- list_init(&rh->rows);
+ dm_list_init(&rh->rows);
while (count--)
- list_add_h(&rh->rows, &(*rows)[count]->list);
+ dm_list_add_h(&rh->rows, &(*rows)[count]->list);
return 1;
}
@@ -891,11 +891,11 @@
return 0;
}
- list_iterate_items(fp, &rh->field_props) {
+ dm_list_iterate_items(fp, &rh->field_props) {
if (fp->flags & FLD_HIDDEN) {
- list_iterate_items(row, &rh->rows) {
- field = list_item(list_first(&row->fields), struct dm_report_field);
- list_del(&field->list);
+ dm_list_iterate_items(row, &rh->rows) {
+ field = dm_list_item(dm_list_first(&row->fields), struct dm_report_field);
+ dm_list_del(&field->list);
}
continue;
}
@@ -911,14 +911,14 @@
}
}
- list_iterate_items(row, &rh->rows) {
- if ((field = list_item(list_first(&row->fields), struct dm_report_field))) {
+ dm_list_iterate_items(row, &rh->rows) {
+ if ((field = dm_list_item(dm_list_first(&row->fields), struct dm_report_field))) {
if (!_output_field(rh, field))
goto bad;
- list_del(&field->list);
+ dm_list_del(&field->list);
}
- if (!list_end(&rh->rows, &row->list))
+ if (!dm_list_end(&rh->rows, &row->list))
if (!dm_pool_grow_object(rh->mem, rh->separator, 0)) {
log_error("dm_report: Unable to extend output line");
goto bad;
@@ -941,7 +941,7 @@
static int _output_as_columns(struct dm_report *rh)
{
- struct list *fh, *rowh, *ftmp, *rtmp;
+ struct dm_list *fh, *rowh, *ftmp, *rtmp;
struct row *row = NULL;
struct dm_report_field *field;
@@ -950,34 +950,34 @@
_report_headings(rh);
/* Print and clear buffer */
- list_iterate_safe(rowh, rtmp, &rh->rows) {
+ dm_list_iterate_safe(rowh, rtmp, &rh->rows) {
if (!dm_pool_begin_object(rh->mem, 512)) {
log_error("dm_report: Unable to allocate output line");
return 0;
}
- row = list_item(rowh, struct row);
- list_iterate_safe(fh, ftmp, &row->fields) {
- field = list_item(fh, struct dm_report_field);
+ row = dm_list_item(rowh, struct row);
+ dm_list_iterate_safe(fh, ftmp, &row->fields) {
+ field = dm_list_item(fh, struct dm_report_field);
if (field->props->flags & FLD_HIDDEN)
continue;
if (!_output_field(rh, field))
goto bad;
- if (!list_end(&row->fields, fh))
+ if (!dm_list_end(&row->fields, fh))
if (!dm_pool_grow_object(rh->mem, rh->separator, 0)) {
log_error("dm_report: Unable to extend output line");
goto bad;
}
- list_del(&field->list);
+ dm_list_del(&field->list);
}
if (!dm_pool_grow_object(rh->mem, "\0", 1)) {
log_error("dm_report: Unable to terminate output line");
goto bad;
}
log_print("%s", (char *) dm_pool_end_object(rh->mem));
- list_del(&row->list);
+ dm_list_del(&row->list);
}
if (row)
@@ -992,7 +992,7 @@
int dm_report_output(struct dm_report *rh)
{
- if (list_empty(&rh->rows))
+ if (dm_list_empty(&rh->rows))
return 1;
if ((rh->flags & RH_SORT_REQUIRED))
--- LVM2/libdm/datastruct/list.c 2008/04/10 19:14:26 1.4
+++ LVM2/libdm/datastruct/list.c 2008/11/03 22:14:30 1.5
@@ -19,7 +19,7 @@
* Initialise a list before use.
* The list head's next and previous pointers point back to itself.
*/
-void list_init(struct list *head)
+void dm_list_init(struct dm_list *head)
{
head->n = head->p = head;
}
@@ -28,7 +28,7 @@
* Insert an element before 'head'.
* If 'head' is the list head, this adds an element to the end of the list.
*/
-void list_add(struct list *head, struct list *elem)
+void dm_list_add(struct dm_list *head, struct dm_list *elem)
{
assert(head->n);
@@ -43,7 +43,7 @@
* Insert an element after 'head'.
* If 'head' is the list head, this adds an element to the front of the list.
*/
-void list_add_h(struct list *head, struct list *elem)
+void dm_list_add_h(struct dm_list *head, struct dm_list *elem)
{
assert(head->n);
@@ -59,7 +59,7 @@
* Note that this doesn't change the element itself - it may still be safe
* to follow its pointers.
*/
-void list_del(struct list *elem)
+void dm_list_del(struct dm_list *elem)
{
elem->n->p = elem->p;
elem->p->n = elem->n;
@@ -68,16 +68,16 @@
/*
* Remove an element from existing list and insert before 'head'.
*/
-void list_move(struct list *head, struct list *elem)
+void dm_list_move(struct dm_list *head, struct dm_list *elem)
{
- list_del(elem);
- list_add(head, elem);
+ dm_list_del(elem);
+ dm_list_add(head, elem);
}
/*
* Is the list empty?
*/
-int list_empty(const struct list *head)
+int dm_list_empty(const struct dm_list *head)
{
return head->n == head;
}
@@ -85,7 +85,7 @@
/*
* Is this the first element of the list?
*/
-int list_start(const struct list *head, const struct list *elem)
+int dm_list_start(const struct dm_list *head, const struct dm_list *elem)
{
return elem->p == head;
}
@@ -93,7 +93,7 @@
/*
* Is this the last element of the list?
*/
-int list_end(const struct list *head, const struct list *elem)
+int dm_list_end(const struct dm_list *head, const struct dm_list *elem)
{
return elem->n == head;
}
@@ -101,44 +101,44 @@
/*
* Return first element of the list or NULL if empty
*/
-struct list *list_first(const struct list *head)
+struct dm_list *dm_list_first(const struct dm_list *head)
{
- return (list_empty(head) ? NULL : head->n);
+ return (dm_list_empty(head) ? NULL : head->n);
}
/*
* Return last element of the list or NULL if empty
*/
-struct list *list_last(const struct list *head)
+struct dm_list *dm_list_last(const struct dm_list *head)
{
- return (list_empty(head) ? NULL : head->p);
+ return (dm_list_empty(head) ? NULL : head->p);
}
/*
* Return the previous element of the list, or NULL if we've reached the start.
*/
-struct list *list_prev(const struct list *head, const struct list *elem)
+struct dm_list *dm_list_prev(const struct dm_list *head, const struct dm_list *elem)
{
- return (list_start(head, elem) ? NULL : elem->p);
+ return (dm_list_start(head, elem) ? NULL : elem->p);
}
/*
* Return the next element of the list, or NULL if we've reached the end.
*/
-struct list *list_next(const struct list *head, const struct list *elem)
+struct dm_list *dm_list_next(const struct dm_list *head, const struct dm_list *elem)
{
- return (list_end(head, elem) ? NULL : elem->n);
+ return (dm_list_end(head, elem) ? NULL : elem->n);
}
/*
* Return the number of elements in a list by walking it.
*/
-unsigned int list_size(const struct list *head)
+unsigned int dm_list_size(const struct dm_list *head)
{
unsigned int s = 0;
- const struct list *v;
+ const struct dm_list *v;
- list_iterate(v, head)
+ dm_list_iterate(v, head)
s++;
return s;
--- LVM2/libdm/datastruct/list.h 2008/04/10 19:14:26 1.27
+++ LVM2/libdm/datastruct/list.h 2008/11/03 22:14:30 1.28
@@ -24,106 +24,106 @@
* The list head's pointers point to the first and the last element.
*/
-struct list {
- struct list *n, *p;
+struct dm_list {
+ struct dm_list *n, *p;
};
/*
* Initialise a list before use.
* The list head's next and previous pointers point back to itself.
*/
-#define LIST_INIT(name) struct list name = { &(name), &(name) }
-void list_init(struct list *head);
+#define DM_LIST_INIT(name) struct dm_list name = { &(name), &(name) }
+void dm_list_init(struct dm_list *head);
/*
* Insert an element before 'head'.
* If 'head' is the list head, this adds an element to the end of the list.
*/
-void list_add(struct list *head, struct list *elem);
+void dm_list_add(struct dm_list *head, struct dm_list *elem);
/*
* Insert an element after 'head'.
* If 'head' is the list head, this adds an element to the front of the list.
*/
-void list_add_h(struct list *head, struct list *elem);
+void dm_list_add_h(struct dm_list *head, struct dm_list *elem);
/*
* Delete an element from its list.
* Note that this doesn't change the element itself - it may still be safe
* to follow its pointers.
*/
-void list_del(struct list *elem);
+void dm_list_del(struct dm_list *elem);
/*
* Remove an element from existing list and insert before 'head'.
*/
-void list_move(struct list *head, struct list *elem);
+void dm_list_move(struct dm_list *head, struct dm_list *elem);
/*
* Is the list empty?
*/
-int list_empty(const struct list *head);
+int dm_list_empty(const struct dm_list *head);
/*
* Is this the first element of the list?
*/
-int list_start(const struct list *head, const struct list *elem);
+int dm_list_start(const struct dm_list *head, const struct dm_list *elem);
/*
* Is this the last element of the list?
*/
-int list_end(const struct list *head, const struct list *elem);
+int dm_list_end(const struct dm_list *head, const struct dm_list *elem);
/*
* Return first element of the list or NULL if empty
*/
-struct list *list_first(const struct list *head);
+struct dm_list *dm_list_first(const struct dm_list *head);
/*
* Return last element of the list or NULL if empty
*/
-struct list *list_last(const struct list *head);
+struct dm_list *dm_list_last(const struct dm_list *head);
/*
* Return the previous element of the list, or NULL if we've reached the start.
*/
-struct list *list_prev(const struct list *head, const struct list *elem);
+struct dm_list *dm_list_prev(const struct dm_list *head, const struct dm_list *elem);
/*
* Return the next element of the list, or NULL if we've reached the end.
*/
-struct list *list_next(const struct list *head, const struct list *elem);
+struct dm_list *dm_list_next(const struct dm_list *head, const struct dm_list *elem);
/*
- * Given the address v of an instance of 'struct list' called 'head'
+ * Given the address v of an instance of 'struct dm_list' called 'head'
* contained in a structure of type t, return the containing structure.
*/
-#define list_struct_base(v, t, head) \
+#define dm_list_struct_base(v, t, head) \
((t *)((uintptr_t)(v) - (uintptr_t)&((t *) 0)->head))
/*
- * Given the address v of an instance of 'struct list list' contained in
+ * Given the address v of an instance of 'struct dm_list list' contained in
* a structure of type t, return the containing structure.
*/
-#define list_item(v, t) list_struct_base((v), t, list)
+#define dm_list_item(v, t) dm_list_struct_base((v), t, list)
/*
* Given the address v of one known element e in a known structure of type t,
* return another element f.
*/
-#define struct_field(v, t, e, f) \
+#define dm_struct_field(v, t, e, f) \
(((t *)((uintptr_t)(v) - (uintptr_t)&((t *) 0)->e))->f)
/*
* Given the address v of a known element e in a known structure of type t,
* return the list head 'list'
*/
-#define list_head(v, t, e) struct_field(v, t, e, list)
+#define dm_list_head(v, t, e) dm_struct_field(v, t, e, list)
/*
* Set v to each element of a list in turn.
*/
-#define list_iterate(v, head) \
+#define dm_list_iterate(v, head) \
for (v = (head)->n; v != head; v = v->n)
/*
@@ -133,7 +133,7 @@
* already-processed elements.
* If 'start' is 'head' it walks the list backwards.
*/
-#define list_uniterate(v, head, start) \
+#define dm_list_uniterate(v, head, start) \
for (v = (start)->p; v != head; v = v->p)
/*
@@ -141,68 +141,68 @@
* the way.
* t must be defined as a temporary variable of the same type as v.
*/
-#define list_iterate_safe(v, t, head) \
+#define dm_list_iterate_safe(v, t, head) \
for (v = (head)->n, t = v->n; v != head; v = t, t = v->n)
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The 'struct list' variable within the containing structure is 'field'.
+ * The 'struct dm_list' variable within the containing structure is 'field'.
*/
-#define list_iterate_items_gen(v, head, field) \
- for (v = list_struct_base((head)->n, typeof(*v), field); \
+#define dm_list_iterate_items_gen(v, head, field) \
+ for (v = dm_list_struct_base((head)->n, typeof(*v), field); \
&v->field != (head); \
- v = list_struct_base(v->field.n, typeof(*v), field))
+ v = dm_list_struct_base(v->field.n, typeof(*v), field))
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The list should be 'struct list list' within the containing structure.
+ * The list should be 'struct dm_list list' within the containing structure.
*/
-#define list_iterate_items(v, head) list_iterate_items_gen(v, (head), list)
+#define dm_list_iterate_items(v, head) dm_list_iterate_items_gen(v, (head), list)
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The 'struct list' variable within the containing structure is 'field'.
+ * The 'struct dm_list' variable within the containing structure is 'field'.
* t must be defined as a temporary variable of the same type as v.
*/
-#define list_iterate_items_gen_safe(v, t, head, field) \
- for (v = list_struct_base((head)->n, typeof(*v), field), \
- t = list_struct_base(v->field.n, typeof(*v), field); \
+#define dm_list_iterate_items_gen_safe(v, t, head, field) \
+ for (v = dm_list_struct_base((head)->n, typeof(*v), field), \
+ t = dm_list_struct_base(v->field.n, typeof(*v), field); \
&v->field != (head); \
- v = t, t = list_struct_base(v->field.n, typeof(*v), field))
+ v = t, t = dm_list_struct_base(v->field.n, typeof(*v), field))
/*
* Walk a list, setting 'v' in turn to the containing structure of each item.
* The containing structure should be the same type as 'v'.
- * The list should be 'struct list list' within the containing structure.
+ * The list should be 'struct dm_list list' within the containing structure.
* t must be defined as a temporary variable of the same type as v.
*/
-#define list_iterate_items_safe(v, t, head) \
- list_iterate_items_gen_safe(v, t, (head), list)
+#define dm_list_iterate_items_safe(v, t, head) \
+ dm_list_iterate_items_gen_safe(v, t, (head), list)
/*
* Walk a list backwards, setting 'v' in turn to the containing structure
* of each item.
* The containing structure should be the same type as 'v'.
- * The 'struct list' variable within the containing structure is 'field'.
+ * The 'struct dm_list' variable within the containing structure is 'field'.
*/
-#define list_iterate_back_items_gen(v, head, field) \
- for (v = list_struct_base((head)->p, typeof(*v), field); \
+#define dm_list_iterate_back_items_gen(v, head, field) \
+ for (v = dm_list_struct_base((head)->p, typeof(*v), field); \
&v->field != (head); \
- v = list_struct_base(v->field.p, typeof(*v), field))
+ v = dm_list_struct_base(v->field.p, typeof(*v), field))
/*
* Walk a list backwards, setting 'v' in turn to the containing structure
* of each item.
* The containing structure should be the same type as 'v'.
- * The list should be 'struct list list' within the containing structure.
+ * The list should be 'struct dm_list list' within the containing structure.
*/
-#define list_iterate_back_items(v, head) list_iterate_back_items_gen(v, (head), list)
+#define dm_list_iterate_back_items(v, head) dm_list_iterate_back_items_gen(v, (head), list)
/*
* Return the number of elements in a list by walking it.
*/
-unsigned int list_size(const struct list *head);
+unsigned int dm_list_size(const struct dm_list *head);
#endif
--- LVM2/tools/Makefile.in 2008/11/01 02:19:19 1.86
+++ LVM2/tools/Makefile.in 2008/11/03 22:14:30 1.87
@@ -80,7 +80,7 @@
CLEAN_TARGETS = liblvm2cmd.so liblvm2cmd.a liblvm2cmd-static.a lvm lvm.o \
lvm2cmd.o lvm2cmd-static.o lvm2cmdlib.o lvm.static \
lvm.cflow lvm.xref lvm.tree lvm.rxref lvm.rtree \
- lvmcmdlib.o lvm-static.o
+ lvmcmdlib.o lvm-static.o dmsetup.o
ifeq ("@CMDLIB@", "yes")
TARGETS += liblvm2cmd.so
@@ -99,9 +99,9 @@
device-mapper: dmsetup
-dmsetup: dmsetup.o $(interfacedir)/libdevmapper.$(LIB_SUFFIX)
+dmsetup: dmsetup.o $(top_srcdir)/libdm/libdevmapper.$(LIB_SUFFIX)
$(CC) -o $@ dmsetup.o $(CFLAGS) $(LDFLAGS) \
- -L$(interfacedir) -L$(DESTDIR)/lib -ldevmapper $(LIBS)
+ -L$(top_srcdir)/libdm -L$(DESTDIR)/lib -ldevmapper $(LIBS)
dmsetup.static: dmsetup.o $(interfacedir)/libdevmapper.a
$(CC) -o $@ dmsetup.o $(CFLAGS) $(LDFLAGS) -static \
--- LVM2/tools/lvconvert.c 2008/06/26 23:05:11 1.66
+++ LVM2/tools/lvconvert.c 2008/11/03 22:14:30 1.67
@@ -39,7 +39,7 @@
int pv_count;
char **pvs;
- struct list *pvh;
+ struct dm_list *pvh;
};
static int _lvconvert_name_params(struct lvconvert_params *lp,
@@ -257,7 +257,7 @@
static int _update_lvconvert_mirror(struct cmd_context *cmd __attribute((unused)),
struct volume_group *vg __attribute((unused)),
struct logical_volume *lv __attribute((unused)),
- struct list *lvs_changed __attribute((unused)),
+ struct dm_list *lvs_changed __attribute((unused)),
unsigned flags __attribute((unused)))
{
/* lvconvert mirror doesn't require periodical metadata update */
@@ -267,7 +267,7 @@
static int _finish_lvconvert_mirror(struct cmd_context *cmd,
struct volume_group *vg,
struct logical_volume *lv,
- struct list *lvs_changed __attribute((unused)))
+ struct dm_list *lvs_changed __attribute((unused)))
{
if (!collapse_mirrored_lv(lv)) {
log_error("Failed to remove temporary sync layer.");
@@ -477,7 +477,7 @@
/* FIXME Share code with lvcreate */
/* FIXME Why is this restriction here? Fix it! */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (seg_is_striped(seg) && seg->area_count > 1) {
log_error("Mirrors of striped volumes are not yet supported.");
return 0;
@@ -501,7 +501,7 @@
* Converting from mirror to mirror with different leg count,
* or different log type.
*/
- if (list_size(&lv->segments) != 1) {
+ if (dm_list_size(&lv->segments) != 1) {
log_error("Logical volume %s has multiple "
"mirror segments.", lv->name);
return 0;
--- LVM2/tools/lvcreate.c 2008/09/24 16:32:51 1.177
+++ LVM2/tools/lvcreate.c 2008/11/03 22:14:30 1.178
@@ -518,7 +518,7 @@
uint32_t status = 0;
uint64_t tmp_size;
struct logical_volume *lv, *org = NULL;
- struct list *pvh;
+ struct dm_list *pvh;
const char *tag = NULL;
int origin_active = 0;
char lv_name_buf[128];
@@ -690,10 +690,10 @@
return 0;
}
- if (lp->stripes > list_size(pvh) && lp->alloc != ALLOC_ANYWHERE) {
+ if (lp->stripes > dm_list_size(pvh) && lp->alloc != ALLOC_ANYWHERE) {
log_error("Number of stripes (%u) must not exceed "
"number of physical volumes (%d)", lp->stripes,
- list_size(pvh));
+ dm_list_size(pvh));
return 0;
}
--- LVM2/tools/lvmcmdline.c 2008/09/19 07:11:54 1.71
+++ LVM2/tools/lvmcmdline.c 2008/11/03 22:14:30 1.72
@@ -120,7 +120,7 @@
format = a->value;
- list_iterate_items(fmt, &cmd->formats) {
+ dm_list_iterate_items(fmt, &cmd->formats) {
if (!strcasecmp(fmt->name, format) ||
!strcasecmp(fmt->name + 3, format) ||
(fmt->alias && !strcasecmp(fmt->alias, format))) {
--- LVM2/tools/lvresize.c 2008/09/18 18:51:58 1.98
+++ LVM2/tools/lvresize.c 2008/11/03 22:14:30 1.99
@@ -267,7 +267,7 @@
struct lv_segment *seg;
uint32_t seg_extents;
uint32_t sz, str;
- struct list *pvh = NULL;
+ struct dm_list *pvh = NULL;
char size_buf[SIZE_BUF];
char lv_path[PATH_MAX];
@@ -381,7 +381,7 @@
seg_size = lp->extents - lv->le_count;
/* Use segment type of last segment */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
lp->segtype = seg->segtype;
}
@@ -394,7 +394,7 @@
/* If extending, find stripes, stripesize & size of last segment */
if ((lp->extents > lv->le_count) &&
!(lp->stripes == 1 || (lp->stripes > 1 && lp->stripe_size))) {
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
if (!seg_is_striped(seg))
continue;
@@ -434,7 +434,7 @@
/* If extending, find mirrors of last segment */
if ((lp->extents > lv->le_count)) {
- list_iterate_back_items(seg, &lv->segments) {
+ dm_list_iterate_back_items(seg, &lv->segments) {
if (seg_is_mirrored(seg))
seg_mirrors = lv_mirror_count(seg->lv);
else
@@ -461,7 +461,7 @@
log_error("Ignoring stripes, stripesize and mirrors "
"arguments when reducing");
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
seg_extents = seg->len;
if (seg_is_striped(seg)) {
--- LVM2/tools/lvscan.c 2008/01/30 14:00:02 1.35
+++ LVM2/tools/lvscan.c 2008/11/03 22:14:30 1.36
@@ -32,7 +32,7 @@
inkernel = lv_info(cmd, lv, &info, 1, 0) && info.exists;
if (lv_is_origin(lv)) {
- list_iterate_items_gen(snap_seg, &lv->snapshot_segs,
+ dm_list_iterate_items_gen(snap_seg, &lv->snapshot_segs,
origin_list) {
if (inkernel &&
(snap_active = lv_snapshot_percent(snap_seg->cow,
--- LVM2/tools/polldaemon.c 2008/01/30 14:00:02 1.10
+++ LVM2/tools/polldaemon.c 2008/11/03 22:14:30 1.11
@@ -68,7 +68,7 @@
const char *name, struct daemon_parms *parms,
int *finished)
{
- struct list *lvs_changed;
+ struct dm_list *lvs_changed;
float segment_percent = 0.0, overall_percent = 0.0;
uint32_t event_nr = 0;
@@ -196,7 +196,7 @@
if (!vg_check_status(vg, EXPORTED_VG))
return ECMD_FAILED;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv_mirr = lvl->lv;
if (!(lv_mirr->status & parms->lv_type))
continue;
--- LVM2/tools/polldaemon.h 2008/04/09 12:56:34 1.6
+++ LVM2/tools/polldaemon.h 2008/11/03 22:14:30 1.7
@@ -29,11 +29,11 @@
int (*update_metadata) (struct cmd_context *cmd,
struct volume_group *vg,
struct logical_volume *lv_mirr,
- struct list *lvs_changed, unsigned flags);
+ struct dm_list *lvs_changed, unsigned flags);
int (*finish_copy) (struct cmd_context *cmd,
struct volume_group *vg,
struct logical_volume *lv_mirr,
- struct list *lvs_changed);
+ struct dm_list *lvs_changed);
};
struct daemon_parms {
--- LVM2/tools/pvchange.c 2008/07/31 12:40:52 1.62
+++ LVM2/tools/pvchange.c 2008/11/03 22:14:30 1.63
@@ -226,8 +226,8 @@
char *pv_name;
struct pv_list *pvl;
- struct list *pvslist;
- struct list mdas;
+ struct dm_list *pvslist;
+ struct dm_list mdas;
if (arg_count(cmd, allocatable_ARG) + arg_count(cmd, addtag_ARG) +
arg_count(cmd, deltag_ARG) + arg_count(cmd, uuid_ARG) != 1) {
@@ -250,7 +250,7 @@
log_verbose("Using physical volume(s) on command line");
for (; opt < argc; opt++) {
pv_name = argv[opt];
- list_init(&mdas);
+ dm_list_init(&mdas);
if (!(pv = pv_read(cmd, pv_name, &mdas, NULL, 1))) {
log_error("Failed to read physical volume %s",
pv_name);
@@ -263,7 +263,7 @@
* means checking every VG by scanning every
* PV on the system.
*/
- if (is_orphan(pv) && !list_size(&mdas)) {
+ if (is_orphan(pv) && !dm_list_size(&mdas)) {
if (!scan_vgs_for_pvs(cmd)) {
log_error("Rescan for PVs without "
"metadata areas failed.");
@@ -287,7 +287,7 @@
return ECMD_FAILED;
}
- list_iterate_items(pvl, pvslist) {
+ dm_list_iterate_items(pvl, pvslist) {
total++;
done += _pvchange_single(cmd, pvl->pv, NULL);
}
--- LVM2/tools/pvcreate.c 2008/09/19 06:42:00 1.75
+++ LVM2/tools/pvcreate.c 2008/11/03 22:14:30 1.76
@@ -148,7 +148,7 @@
struct pvcreate_params *pp = (struct pvcreate_params *) handle;
void *pv;
struct device *dev;
- struct list mdas;
+ struct dm_list mdas;
if (pp->idp) {
if ((dev = device_from_pvid(cmd, pp->idp)) &&
@@ -176,7 +176,7 @@
goto error;
}
- list_init(&mdas);
+ dm_list_init(&mdas);
if (!(pv = pv_create(cmd, dev, pp->idp, pp->size, pp->pe_start,
pp->extent_count, pp->extent_size,
pp->pvmetadatacopies,
--- LVM2/tools/pvmove.c 2008/04/10 17:09:32 1.53
+++ LVM2/tools/pvmove.c 2008/11/03 22:14:30 1.54
@@ -102,12 +102,12 @@
}
/* Create list of PVs for allocation of replacement extents */
-static struct list *_get_allocatable_pvs(struct cmd_context *cmd, int argc,
+static struct dm_list *_get_allocatable_pvs(struct cmd_context *cmd, int argc,
char **argv, struct volume_group *vg,
struct physical_volume *pv,
alloc_policy_t alloc)
{
- struct list *allocatable_pvs, *pvht, *pvh;
+ struct dm_list *allocatable_pvs, *pvht, *pvh;
struct pv_list *pvl;
if (argc)
@@ -118,21 +118,21 @@
if (!allocatable_pvs)
return_NULL;
- list_iterate_safe(pvh, pvht, allocatable_pvs) {
- pvl = list_item(pvh, struct pv_list);
+ dm_list_iterate_safe(pvh, pvht, allocatable_pvs) {
+ pvl = dm_list_item(pvh, struct pv_list);
/* Don't allocate onto the PV we're clearing! */
if ((alloc != ALLOC_ANYWHERE) && (pvl->pv->dev == pv_dev(pv))) {
- list_del(&pvl->list);
+ dm_list_del(&pvl->list);
continue;
}
/* Remove PV if full */
if ((pvl->pv->pe_count == pvl->pv->pe_alloc_count))
- list_del(&pvl->list);
+ dm_list_del(&pvl->list);
}
- if (list_empty(allocatable_pvs)) {
+ if (dm_list_empty(allocatable_pvs)) {
log_error("No extents available for allocation");
return NULL;
}
@@ -146,16 +146,16 @@
*/
static int _insert_pvmove_mirrors(struct cmd_context *cmd,
struct logical_volume *lv_mirr,
- struct list *source_pvl,
+ struct dm_list *source_pvl,
struct logical_volume *lv,
- struct list *lvs_changed)
+ struct dm_list *lvs_changed)
{
struct pv_list *pvl;
uint32_t prev_le_count;
/* Only 1 PV may feature in source_pvl */
- pvl = list_item(source_pvl->n, struct pv_list);
+ pvl = dm_list_item(source_pvl->n, struct pv_list);
prev_le_count = lv_mirr->le_count;
if (!insert_layer_for_segments_on_pv(cmd, lv, lv_mirr, PVMOVE,
@@ -177,11 +177,11 @@
/* Create new LV with mirror segments for the required copies */
static struct logical_volume *_set_up_pvmove_lv(struct cmd_context *cmd,
struct volume_group *vg,
- struct list *source_pvl,
+ struct dm_list *source_pvl,
const char *lv_name,
- struct list *allocatable_pvs,
+ struct dm_list *allocatable_pvs,
alloc_policy_t alloc,
- struct list **lvs_changed)
+ struct dm_list **lvs_changed)
{
struct logical_volume *lv_mirr, *lv;
struct lv_list *lvl;
@@ -203,10 +203,10 @@
return NULL;
}
- list_init(*lvs_changed);
+ dm_list_init(*lvs_changed);
/* Find segments to be moved and set up mirrors */
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if ((lv == lv_mirr))
continue;
@@ -276,7 +276,7 @@
static int _update_metadata(struct cmd_context *cmd, struct volume_group *vg,
struct logical_volume *lv_mirr,
- struct list *lvs_changed, unsigned flags)
+ struct dm_list *lvs_changed, unsigned flags)
{
unsigned exclusive = _pvmove_is_exclusive(cmd, vg);
unsigned first_time = (flags & PVMOVE_FIRST_TIME) ? 1 : 0;
@@ -347,10 +347,10 @@
const char *lv_name = NULL;
char *pv_name_arg;
struct volume_group *vg;
- struct list *source_pvl;
- struct list *allocatable_pvs;
+ struct dm_list *source_pvl;
+ struct dm_list *allocatable_pvs;
alloc_policy_t alloc;
- struct list *lvs_changed;
+ struct dm_list *lvs_changed;
struct physical_volume *pv;
struct logical_volume *lv_mirr;
unsigned first_time = 1;
@@ -474,14 +474,14 @@
static int _finish_pvmove(struct cmd_context *cmd, struct volume_group *vg,
struct logical_volume *lv_mirr,
- struct list *lvs_changed)
+ struct dm_list *lvs_changed)
{
int r = 1;
- struct list lvs_completed;
+ struct dm_list lvs_completed;
struct lv_list *lvl;
/* Update metadata to remove mirror segments and break dependencies */
- list_init(&lvs_completed);
+ dm_list_init(&lvs_completed);
if (!lv_remove_mirrors(cmd, lv_mirr, 1, 0, NULL, PVMOVE) ||
!remove_layers_for_segments_all(cmd, lv_mirr, PVMOVE,
&lvs_completed)) {
@@ -489,7 +489,7 @@
return 0;
}
- list_iterate_items(lvl, &lvs_completed)
+ dm_list_iterate_items(lvl, &lvs_completed)
/* FIXME Assumes only one pvmove at a time! */
lvl->lv->status &= ~LOCKED;
--- LVM2/tools/pvremove.c 2008/07/31 12:38:31 1.24
+++ LVM2/tools/pvremove.c 2008/11/03 22:14:30 1.25
@@ -25,9 +25,9 @@
static int pvremove_check(struct cmd_context *cmd, const char *name)
{
struct physical_volume *pv;
- struct list mdas;
+ struct dm_list mdas;
- list_init(&mdas);
+ dm_list_init(&mdas);
/* FIXME Check partition type is LVM unless --force is given */
@@ -47,7 +47,7 @@
* means checking every VG by scanning every
* PV on the system.
*/
- if (is_orphan(pv) && !list_size(&mdas)) {
+ if (is_orphan(pv) && !dm_list_size(&mdas)) {
if (!scan_vgs_for_pvs(cmd)) {
log_error("Rescan for PVs without metadata areas "
"failed.");
--- LVM2/tools/pvresize.c 2008/09/12 15:26:45 1.22
+++ LVM2/tools/pvresize.c 2008/11/03 22:14:30 1.23
@@ -32,13 +32,13 @@
int consistent = 1;
uint64_t size = 0;
uint32_t new_pe_count = 0;
- struct list mdas;
+ struct dm_list mdas;
const char *pv_name = pv_dev_name(pv);
const char *vg_name;
struct lvmcache_info *info;
int mda_count = 0;
- list_init(&mdas);
+ dm_list_init(&mdas);
if (is_orphan_vg(pv_vg_name(pv))) {
vg_name = VG_ORPHANS;
@@ -53,7 +53,7 @@
return 0;
}
- mda_count = list_size(&mdas);
+ mda_count = dm_list_size(&mdas);
} else {
vg_name = pv_vg_name(pv);
@@ -90,7 +90,7 @@
return 0;
}
- mda_count = list_size(&info->mdas);
+ mda_count = dm_list_size(&info->mdas);
if (!archive(vg))
return 0;
--- LVM2/tools/pvscan.c 2008/04/08 12:49:21 1.46
+++ LVM2/tools/pvscan.c 2008/11/03 22:14:30 1.47
@@ -103,7 +103,7 @@
int new_pvs_found = 0;
int pvs_found = 0;
- struct list *pvslist;
+ struct dm_list *pvslist;
struct pv_list *pvl;
struct physical_volume *pv;
@@ -139,13 +139,13 @@
}
/* eliminate exported/new if required */
- list_iterate_items(pvl, pvslist) {
+ dm_list_iterate_items(pvl, pvslist) {
pv = pvl->pv;
if ((arg_count(cmd, exported_ARG)
&& !(pv_status(pv) & EXPORTED_VG))
|| (arg_count(cmd, novolumegroup_ARG) && (!is_orphan(pv)))) {
- list_del(&pvl->list);
+ dm_list_del(&pvl->list);
continue;
}
@@ -171,7 +171,7 @@
/* find maximum pv name length */
pv_max_name_len = vg_max_name_len = 0;
- list_iterate_items(pvl, pvslist) {
+ dm_list_iterate_items(pvl, pvslist) {
pv = pvl->pv;
len = strlen(pv_dev_name(pv));
if (pv_max_name_len < len)
@@ -183,7 +183,7 @@
pv_max_name_len += 2;
vg_max_name_len += 2;
- list_iterate_items(pvl, pvslist)
+ dm_list_iterate_items(pvl, pvslist)
_pvscan_display_single(cmd, pvl->pv, NULL);
if (!pvs_found) {
--- LVM2/tools/reporter.c 2008/06/25 16:52:27 1.40
+++ LVM2/tools/reporter.c 2008/11/03 22:14:30 1.41
@@ -88,9 +88,9 @@
_free_lv_segment.segtype = get_segtype_from_string(cmd, "free");
_free_lv_segment.len = pvseg->len;
- list_init(&_free_logical_volume.tags);
- list_init(&_free_logical_volume.segments);
- list_init(&_free_logical_volume.segs_using_this_lv);
+ dm_list_init(&_free_logical_volume.tags);
+ dm_list_init(&_free_logical_volume.segments);
+ dm_list_init(&_free_logical_volume.segs_using_this_lv);
if (!report_object(handle, vg, seg ? seg->lv : &_free_logical_volume, pvseg->pv,
seg ? : &_free_lv_segment, pvseg))
--- LVM2/tools/toollib.c 2008/06/11 15:02:52 1.136
+++ LVM2/tools/toollib.c 2008/11/03 22:14:30 1.137
@@ -140,8 +140,8 @@
*/
int process_each_lv_in_vg(struct cmd_context *cmd,
const struct volume_group *vg,
- const struct list *arg_lvnames,
- const struct list *tags,
+ const struct dm_list *arg_lvnames,
+ const struct dm_list *tags,
void *handle,
process_single_lv_fn_t process_single)
{
@@ -158,10 +158,10 @@
if (!vg_check_status(vg, EXPORTED_VG))
return ECMD_FAILED;
- if (tags && !list_empty(tags))
+ if (tags && !dm_list_empty(tags))
tags_supplied = 1;
- if (arg_lvnames && !list_empty(arg_lvnames))
+ if (arg_lvnames && !dm_list_empty(arg_lvnames))
lvargs_supplied = 1;
/* Process all LVs in this VG if no restrictions given */
@@ -174,7 +174,7 @@
process_all = 1;
}
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (lvl->lv->status & SNAPSHOT)
continue;
@@ -207,7 +207,7 @@
return ret_max;
}
- if (lvargs_supplied && lvargs_matched != list_size(arg_lvnames)) {
+ if (lvargs_supplied && lvargs_matched != dm_list_size(arg_lvnames)) {
log_error("One or more specified logical volume(s) not found.");
if (ret_max < ECMD_FAILED)
ret_max = ECMD_FAILED;
@@ -227,25 +227,25 @@
int ret = 0;
int consistent;
- struct list *tags_arg;
- struct list *vgnames; /* VGs to process */
+ struct dm_list *tags_arg;
+ struct dm_list *vgnames; /* VGs to process */
struct str_list *sll, *strl;
struct volume_group *vg;
- struct list tags, lvnames;
- struct list arg_lvnames; /* Cmdline vgname or vgname/lvname */
+ struct dm_list tags, lvnames;
+ struct dm_list arg_lvnames; /* Cmdline vgname or vgname/lvname */
char *vglv;
size_t vglv_sz;
const char *vgname;
- list_init(&tags);
- list_init(&arg_lvnames);
+ dm_list_init(&tags);
+ dm_list_init(&arg_lvnames);
if (argc) {
- struct list arg_vgnames;
+ struct dm_list arg_vgnames;
log_verbose("Using logical volume(s) on command line");
- list_init(&arg_vgnames);
+ dm_list_init(&arg_vgnames);
for (; opt < argc; opt++) {
const char *lv_name = argv[opt];
@@ -327,15 +327,15 @@
vgnames = &arg_vgnames;
}
- if (!argc || !list_empty(&tags)) {
+ if (!argc || !dm_list_empty(&tags)) {
log_verbose("Finding all logical volumes");
- if (!(vgnames = get_vgs(cmd, 0)) || list_empty(vgnames)) {
+ if (!(vgnames = get_vgs(cmd, 0)) || dm_list_empty(vgnames)) {
log_error("No volume groups found");
return ret_max;
}
}
- list_iterate_items(strl, vgnames) {
+ dm_list_iterate_items(strl, vgnames) {
vgname = strl->str;
if (is_orphan_vg(vgname))
continue; /* FIXME Unnecessary? */
@@ -377,15 +377,15 @@
}
tags_arg = &tags;
- list_init(&lvnames); /* LVs to be processed in this VG */
- list_iterate_items(sll, &arg_lvnames) {
+ dm_list_init(&lvnames); /* LVs to be processed in this VG */
+ dm_list_iterate_items(sll, &arg_lvnames) {
const char *vg_name = sll->str;
const char *lv_name = strchr(vg_name, '/');
if ((!lv_name && !strcmp(vg_name, vgname))) {
/* Process all LVs in this VG */
tags_arg = NULL;
- list_init(&lvnames);
+ dm_list_init(&lvnames);
break;
} else if (!strncmp(vg_name, vgname, strlen(vgname)) &&
strlen(vgname) == (size_t) (lv_name - vg_name)) {
@@ -434,7 +434,7 @@
}
}
- list_iterate_items(pvseg, &pv->segments) {
+ dm_list_iterate_items(pvseg, &pv->segments) {
ret = process_single(cmd, vg, pvseg, handle);
if (ret > ret_max)
ret_max = ret;
@@ -459,7 +459,7 @@
int ret_max = ECMD_PROCESSED;
int ret;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
ret = process_single(cmd, seg, handle);
if (ret > ret_max)
ret_max = ret;
@@ -472,7 +472,7 @@
static int _process_one_vg(struct cmd_context *cmd, const char *vg_name,
const char *vgid,
- struct list *tags, struct list *arg_vgnames,
+ struct dm_list *tags, struct dm_list *arg_vgnames,
uint32_t lock_type, int consistent, void *handle,
int ret_max,
int (*process_single) (struct cmd_context * cmd,
@@ -500,7 +500,7 @@
return ECMD_FAILED;
}
- if (!list_empty(tags)) {
+ if (!dm_list_empty(tags)) {
/* Only process if a tag matches or it's on arg_vgnames */
if (!str_list_match_item(arg_vgnames, vg_name) &&
!str_list_match_list(tags, &vg->tags)) {
@@ -530,13 +530,13 @@
int ret_max = ECMD_PROCESSED;
struct str_list *sl;
- struct list *vgnames, *vgids;
- struct list arg_vgnames, tags;
+ struct dm_list *vgnames, *vgids;
+ struct dm_list arg_vgnames, tags;
const char *vg_name, *vgid;
- list_init(&tags);
- list_init(&arg_vgnames);
+ dm_list_init(&tags);
+ dm_list_init(&arg_vgnames);
if (argc) {
log_verbose("Using volume group(s) on command line");
@@ -574,13 +574,13 @@
vgnames = &arg_vgnames;
}
- if (!argc || !list_empty(&tags)) {
+ if (!argc || !dm_list_empty(&tags)) {
log_verbose("Finding all volume groups");
- if (!(vgids = get_vgids(cmd, 0)) || list_empty(vgids)) {
+ if (!(vgids = get_vgids(cmd, 0)) || dm_list_empty(vgids)) {
log_error("No volume groups found");
return ret_max;
}
- list_iterate_items(sl, vgids) {
+ dm_list_iterate_items(sl, vgids) {
vgid = sl->str;
if (!vgid || !(vg_name = vgname_from_vgid(cmd->mem, vgid)) ||
is_orphan_vg(vg_name))
@@ -593,7 +593,7 @@
return ret_max;
}
} else {
- list_iterate_items(sl, vgnames) {
+ dm_list_iterate_items(sl, vgnames) {
vg_name = sl->str;
if (is_orphan_vg(vg_name))
continue; /* FIXME Unnecessary? */
@@ -610,15 +610,15 @@
}
int process_each_pv_in_vg(struct cmd_context *cmd, struct volume_group *vg,
- const struct list *tags, void *handle,
+ const struct dm_list *tags, void *handle,
process_single_pv_fn_t process_single)
{
int ret_max = ECMD_PROCESSED;
int ret = 0;
struct pv_list *pvl;
- list_iterate_items(pvl, &vg->pvs) {
- if (tags && !list_empty(tags) &&
+ dm_list_iterate_items(pvl, &vg->pvs) {
+ if (tags && !dm_list_empty(tags) &&
!str_list_match_list(tags, &pvl->pv->tags)) {
continue;
}
@@ -658,8 +658,8 @@
while ((dev = dev_iter_get(iter))) {
if (!(pv = pv_read(cmd, dev_name(dev), NULL, NULL, 0))) {
memset(&pv_dummy, 0, sizeof(pv_dummy));
- list_init(&pv_dummy.tags);
- list_init(&pv_dummy.segments);
+ dm_list_init(&pv_dummy.tags);
+ dm_list_init(&pv_dummy.segments);
pv_dummy.dev = dev;
pv_dummy.fmt = NULL;
pv = &pv_dummy;
@@ -689,14 +689,14 @@
struct pv_list *pvl;
struct physical_volume *pv;
- struct list *pvslist, *vgnames;
- struct list tags;
+ struct dm_list *pvslist, *vgnames;
+ struct dm_list tags;
struct str_list *sll;
char *tagname;
int consistent = 1;
int scanned = 0;
- list_init(&tags);
+ dm_list_init(&tags);
if (argc) {
log_verbose("Using physical volume(s) on command line");
@@ -769,9 +769,9 @@
if (sigint_caught())
return ret_max;
}
- if (!list_empty(&tags) && (vgnames = get_vgs(cmd, 0)) &&
- !list_empty(vgnames)) {
- list_iterate_items(sll, vgnames) {
+ if (!dm_list_empty(&tags) && (vgnames = get_vgs(cmd, 0)) &&
+ !dm_list_empty(vgnames)) {
+ dm_list_iterate_items(sll, vgnames) {
if (!lock_vol(cmd, sll->str, lock_type)) {
log_error("Can't lock %s: skipping", sll->str);
continue;
@@ -825,7 +825,7 @@
if (!(pvslist = get_pvs(cmd)))
return ECMD_FAILED;
- list_iterate_items(pvl, pvslist) {
+ dm_list_iterate_items(pvl, pvslist) {
ret = process_single(cmd, NULL, pvl->pv,
handle);
if (ret > ret_max)
@@ -927,7 +927,7 @@
* Process physical extent range specifiers
*/
static int _add_pe_range(struct dm_pool *mem, const char *pvname,
- struct list *pe_ranges, uint32_t start, uint32_t count)
+ struct dm_list *pe_ranges, uint32_t start, uint32_t count)
{
struct pe_range *per;
@@ -935,7 +935,7 @@
" on %s", start, count, pvname);
/* Ensure no overlap with existing areas */
- list_iterate_items(per, pe_ranges) {
+ dm_list_iterate_items(per, pe_ranges) {
if (((start < per->start) && (start + count - 1 >= per->start))
|| ((start >= per->start) &&
(per->start + per->count - 1) >= start)) {
@@ -955,7 +955,7 @@
per->start = start;
per->count = count;
- list_add(pe_ranges, &per->list);
+ dm_list_add(pe_ranges, &per->list);
return 1;
}
@@ -972,7 +972,7 @@
return 0;
}
-static int _parse_pes(struct dm_pool *mem, char *c, struct list *pe_ranges,
+static int _parse_pes(struct dm_pool *mem, char *c, struct dm_list *pe_ranges,
const char *pvname, uint32_t size)
{
char *endptr;
@@ -1039,11 +1039,11 @@
}
static int _create_pv_entry(struct dm_pool *mem, struct pv_list *pvl,
- char *colon, int allocatable_only, struct list *r)
+ char *colon, int allocatable_only, struct dm_list *r)
{
const char *pvname;
struct pv_list *new_pvl = NULL, *pvl2;
- struct list *pe_ranges;
+ struct dm_list *pe_ranges;
pvname = pv_dev_name(pvl->pv);
if (allocatable_only && !(pvl->pv->status & ALLOCATABLE_PV)) {
@@ -1057,7 +1057,7 @@
return 1;
}
- list_iterate_items(pvl2, r)
+ dm_list_iterate_items(pvl2, r)
if (pvl->pv->dev == pvl2->pv->dev) {
new_pvl = pvl2;
break;
@@ -1075,9 +1075,9 @@
log_error("Allocation of pe_ranges list failed");
return 0;
}
- list_init(pe_ranges);
+ dm_list_init(pe_ranges);
new_pvl->pe_ranges = pe_ranges;
- list_add(r, &new_pvl->list);
+ dm_list_add(r, &new_pvl->list);
}
/* Determine selected physical extents */
@@ -1088,12 +1088,12 @@
return 1;
}
-struct list *create_pv_list(struct dm_pool *mem, struct volume_group *vg, int argc,
+struct dm_list *create_pv_list(struct dm_pool *mem, struct volume_group *vg, int argc,
char **argv, int allocatable_only)
{
- struct list *r;
+ struct dm_list *r;
struct pv_list *pvl;
- struct list tags, arg_pvnames;
+ struct dm_list tags, arg_pvnames;
const char *pvname = NULL;
char *colon, *tagname;
int i;
@@ -1103,10 +1103,10 @@
log_error("Allocation of list failed");
return NULL;
}
- list_init(r);
+ dm_list_init(r);
- list_init(&tags);
- list_init(&arg_pvnames);
+ dm_list_init(&tags);
+ dm_list_init(&arg_pvnames);
for (i = 0; i < argc; i++) {
if (*argv[i] == '@') {
@@ -1115,7 +1115,7 @@
log_error("Skipping invalid tag %s", tagname);
continue;
}
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (str_list_match_item(&pvl->pv->tags,
tagname)) {
if (!_create_pv_entry(mem, pvl, NULL,
@@ -1147,15 +1147,15 @@
return_NULL;
}
- if (list_empty(r))
+ if (dm_list_empty(r))
log_error("No specified PVs have space available");
- return list_empty(r) ? NULL : r;
+ return dm_list_empty(r) ? NULL : r;
}
-struct list *clone_pv_list(struct dm_pool *mem, struct list *pvsl)
+struct dm_list *clone_pv_list(struct dm_pool *mem, struct dm_list *pvsl)
{
- struct list *r;
+ struct dm_list *r;
struct pv_list *pvl, *new_pvl;
/* Build up list of PVs */
@@ -1163,16 +1163,16 @@
log_error("Allocation of list failed");
return NULL;
}
- list_init(r);
+ dm_list_init(r);
- list_iterate_items(pvl, pvsl) {
+ dm_list_iterate_items(pvl, pvsl) {
if (!(new_pvl = dm_pool_zalloc(mem, sizeof(*new_pvl)))) {
log_error("Unable to allocate physical volume list.");
return NULL;
}
memcpy(new_pvl, pvl, sizeof(*new_pvl));
- list_add(r, &new_pvl->list);
+ dm_list_add(r, &new_pvl->list);
}
return r;
--- LVM2/tools/toollib.h 2008/03/25 15:24:59 1.57
+++ LVM2/tools/toollib.h 2008/11/03 22:14:30 1.58
@@ -66,7 +66,7 @@
void *handle);
int process_each_pv_in_vg(struct cmd_context *cmd, struct volume_group *vg,
- const struct list *tags, void *handle,
+ const struct dm_list *tags, void *handle,
process_single_pv_fn_t process_single);
typedef int (*process_single_lv_fn_t) (struct cmd_context *cmd,
@@ -75,8 +75,8 @@
int process_each_lv_in_vg(struct cmd_context *cmd,
const struct volume_group *vg,
- const struct list *arg_lvnames,
- const struct list *tags,
+ const struct dm_list *arg_lvnames,
+ const struct dm_list *tags,
void *handle,
process_single_lv_fn_t process_single);
@@ -89,10 +89,10 @@
* Builds a list of pv's from the names in argv. Used in
* lvcreate/extend.
*/
-struct list *create_pv_list(struct dm_pool *mem, struct volume_group *vg, int argc,
+struct dm_list *create_pv_list(struct dm_pool *mem, struct volume_group *vg, int argc,
char **argv, int allocatable_only);
-struct list *clone_pv_list(struct dm_pool *mem, struct list *pvs);
+struct dm_list *clone_pv_list(struct dm_pool *mem, struct dm_list *pvs);
int apply_lvname_restrictions(const char *name);
int is_reserved_lvname(const char *name);
--- LVM2/tools/vgchange.c 2008/06/12 11:49:46 1.65
+++ LVM2/tools/vgchange.c 2008/11/03 22:14:30 1.66
@@ -24,7 +24,7 @@
int lv_active;
int count = 0;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if (!lv_info(cmd, lv, &info, 0, 0))
@@ -59,7 +59,7 @@
const char *pvname;
int count = 0;
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
/* Only request activation of snapshot origin devices */
@@ -260,7 +260,7 @@
}
if (clustered) {
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
if (lv_is_origin(lvl->lv) || lv_is_cow(lvl->lv)) {
log_error("Volume group %s contains snapshots "
"that are not yet supported.",
@@ -496,7 +496,7 @@
return ECMD_FAILED;
}
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
memcpy(&lvl->lv->lvid, &vg->id, sizeof(vg->id));
}
--- LVM2/tools/vgconvert.c 2008/08/29 13:41:21 1.30
+++ LVM2/tools/vgconvert.c 2008/11/03 22:14:30 1.31
@@ -23,7 +23,7 @@
struct logical_volume *lv;
struct lv_list *lvl;
uint64_t size = 0;
- struct list mdas;
+ struct dm_list mdas;
int pvmetadatacopies = 0;
uint64_t pvmetadatasize = 0;
uint64_t pe_end = 0, pe_start = 0;
@@ -93,7 +93,7 @@
/* If converting to restricted lvid, check if lvid is compatible */
if (!(vg->fid->fmt->features & FMT_RESTRICTED_LVIDS) &&
cmd->fmt->features & FMT_RESTRICTED_LVIDS)
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (!lvid_in_restricted_range(&lvl->lv->lvid)) {
log_error("Logical volume %s lvid format is"
" incompatible with requested"
@@ -103,7 +103,7 @@
/* Attempt to change any LVIDs that are too big */
if (cmd->fmt->features & FMT_RESTRICTED_LVIDS) {
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if (lv->status & SNAPSHOT)
continue;
@@ -124,14 +124,14 @@
if (active)
return ECMD_FAILED;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
existing_pv = pvl->pv;
pe_start = pv_pe_start(existing_pv);
pe_end = pv_pe_count(existing_pv) * pv_pe_size(existing_pv)
+ pe_start - 1;
- list_init(&mdas);
+ dm_list_init(&mdas);
if (!(pv = pv_create(cmd, pv_dev(existing_pv),
&existing_pv->id, size,
pe_start, pv_pe_count(existing_pv),
--- LVM2/tools/vgexport.c 2008/01/30 14:00:02 1.18
+++ LVM2/tools/vgexport.c 2008/11/03 22:14:30 1.19
@@ -48,7 +48,7 @@
vg->status |= EXPORTED_VG;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
pv->status |= EXPORTED_VG;
}
--- LVM2/tools/vgimport.c 2008/01/30 14:00:02 1.17
+++ LVM2/tools/vgimport.c 2008/11/03 22:14:30 1.18
@@ -44,7 +44,7 @@
vg->status &= ~EXPORTED_VG;
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
pv = pvl->pv;
pv->status &= ~EXPORTED_VG;
}
--- LVM2/tools/vgmerge.c 2008/06/06 19:32:35 1.49
+++ LVM2/tools/vgmerge.c 2008/11/03 22:14:30 1.50
@@ -52,23 +52,23 @@
drop_cached_metadata(vg_from);
/* Merge volume groups */
- while (!list_empty(&vg_from->pvs)) {
- struct list *pvh = vg_from->pvs.n;
+ while (!dm_list_empty(&vg_from->pvs)) {
+ struct dm_list *pvh = vg_from->pvs.n;
struct physical_volume *pv;
- list_move(&vg_to->pvs, pvh);
+ dm_list_move(&vg_to->pvs, pvh);
- pv = list_item(pvh, struct pv_list)->pv;
+ pv = dm_list_item(pvh, struct pv_list)->pv;
pv->vg_name = dm_pool_strdup(cmd->mem, vg_to->name);
}
vg_to->pv_count += vg_from->pv_count;
/* Fix up LVIDs */
- list_iterate_items(lvl1, &vg_to->lvs) {
+ dm_list_iterate_items(lvl1, &vg_to->lvs) {
union lvid *lvid1 = &lvl1->lv->lvid;
char uuid[64] __attribute((aligned(8)));
- list_iterate_items(lvl2, &vg_from->lvs) {
+ dm_list_iterate_items(lvl2, &vg_from->lvs) {
union lvid *lvid2 = &lvl2->lv->lvid;
if (id_equal(&lvid1->id[1], &lvid2->id[1])) {
@@ -88,16 +88,16 @@
}
}
- while (!list_empty(&vg_from->lvs)) {
- struct list *lvh = vg_from->lvs.n;
+ while (!dm_list_empty(&vg_from->lvs)) {
+ struct dm_list *lvh = vg_from->lvs.n;
- list_move(&vg_to->lvs, lvh);
+ dm_list_move(&vg_to->lvs, lvh);
}
- while (!list_empty(&vg_from->fid->metadata_areas)) {
- struct list *mdah = vg_from->fid->metadata_areas.n;
+ while (!dm_list_empty(&vg_from->fid->metadata_areas)) {
+ struct dm_list *mdah = vg_from->fid->metadata_areas.n;
- list_move(&vg_to->fid->metadata_areas, mdah);
+ dm_list_move(&vg_to->fid->metadata_areas, mdah);
}
vg_to->lv_count += vg_from->lv_count;
--- LVM2/tools/vgreduce.c 2008/09/19 15:44:03 1.84
+++ LVM2/tools/vgreduce.c 2008/11/03 22:14:30 1.85
@@ -41,16 +41,16 @@
vg->extent_count -= pvl->pv->pe_count;
vg->pv_count--;
- list_del(&pvl->list);
+ dm_list_del(&pvl->list);
return 1;
}
static int _remove_lv(struct cmd_context *cmd, struct logical_volume *lv,
- int *list_unsafe, struct list *lvs_changed)
+ int *list_unsafe, struct dm_list *lvs_changed)
{
struct lv_segment *snap_seg;
- struct list *snh, *snht;
+ struct dm_list *snh, *snht;
struct logical_volume *cow;
struct lv_list *lvl;
struct lvinfo info;
@@ -77,8 +77,8 @@
}
/* Remove snapshot dependencies */
- list_iterate_safe(snh, snht, &lv->snapshot_segs) {
- snap_seg = list_struct_base(snh, struct lv_segment,
+ dm_list_iterate_safe(snh, snht, &lv->snapshot_segs) {
+ snap_seg = dm_list_struct_base(snh, struct lv_segment,
origin_list);
cow = snap_seg->cow;
@@ -120,7 +120,7 @@
return 0;
}
lvl->lv = lv;
- list_add(lvs_changed, &lvl->list);
+ dm_list_add(lvs_changed, &lvl->list);
} else {
/* Remove LV immediately. */
log_verbose("Removing LV %s from VG %s", lv->name, lv->vg->name);
@@ -137,7 +137,7 @@
struct lv_list *lvl;
int r = 1;
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (lvl->lv->status & PARTIAL_LV) {
log_warn("WARNING: Partial LV %s needs to be repaired "
"or removed. ", lvl->lv->name);
@@ -151,7 +151,7 @@
log_warn("Proceeding to remove empty missing PVs.");
}
- list_iterate_items(pvl, &vg->pvs) {
+ dm_list_iterate_items(pvl, &vg->pvs) {
if (pvl->pv->dev && !(pvl->pv->status & MISSING_PV))
continue;
if (r && !_remove_pv(vg, pvl, 0))
@@ -163,8 +163,8 @@
static int _make_vg_consistent(struct cmd_context *cmd, struct volume_group *vg)
{
- struct list *pvh, *pvht;
- struct list *lvh, *lvht;
+ struct dm_list *pvh, *pvht;
+ struct dm_list *lvh, *lvht;
struct pv_list *pvl;
struct lv_list *lvl, *lvl2, *lvlt;
struct logical_volume *lv;
@@ -173,18 +173,18 @@
unsigned s;
uint32_t mimages, remove_log;
int list_unsafe, only_mirror_images_found;
- LIST_INIT(lvs_changed);
+ DM_LIST_INIT(lvs_changed);
only_mirror_images_found = 1;
/* Deactivate & remove necessary LVs */
restart_loop:
list_unsafe = 0; /* Set if we delete a different list-member */
- list_iterate_safe(lvh, lvht, &vg->lvs) {
- lv = list_item(lvh, struct lv_list)->lv;
+ dm_list_iterate_safe(lvh, lvht, &vg->lvs) {
+ lv = dm_list_item(lvh, struct lv_list)->lv;
/* Are any segments of this LV on missing PVs? */
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_PV)
continue;
@@ -222,8 +222,8 @@
* up *after* the PVs are removed. All this should be gradually
* superseded by lvconvert --repair.
*/
- list_iterate_safe(pvh, pvht, &vg->pvs) {
- pvl = list_item(pvh, struct pv_list);
+ dm_list_iterate_safe(pvh, pvht, &vg->pvs) {
+ pvl = dm_list_item(pvh, struct pv_list);
if (pvl->pv->dev)
continue;
if (!_remove_pv(vg, pvl, 0))
@@ -232,7 +232,7 @@
/* FIXME Recovery. For now people must clean up by hand. */
- if (!list_empty(&lvs_changed)) {
+ if (!dm_list_empty(&lvs_changed)) {
if (!vg_write(vg)) {
log_error("Failed to write out a consistent VG for %s",
vg->name);
@@ -264,7 +264,7 @@
lvs_changed_altered:
/* Remove lost mirror images from mirrors */
- list_iterate_items(lvl, &vg->lvs) {
+ dm_list_iterate_items(lvl, &vg->lvs) {
mirrored_seg_altered:
mirrored_seg = first_seg(lvl->lv);
if (!seg_is_mirrored(mirrored_seg))
@@ -274,11 +274,11 @@
remove_log = 0;
for (s = 0; s < mirrored_seg->area_count; s++) {
- list_iterate_items_safe(lvl2, lvlt, &lvs_changed) {
+ dm_list_iterate_items_safe(lvl2, lvlt, &lvs_changed) {
if (seg_type(mirrored_seg, s) != AREA_LV ||
lvl2->lv != seg_lv(mirrored_seg, s))
continue;
- list_del(&lvl2->list);
+ dm_list_del(&lvl2->list);
if (!shift_mirror_images(mirrored_seg, s))
return_0;
mimages--; /* FIXME Assumes uniqueness */
@@ -286,7 +286,7 @@
}
if (mirrored_seg->log_lv) {
- list_iterate_items(seg, &mirrored_seg->log_lv->segments) {
+ dm_list_iterate_items(seg, &mirrored_seg->log_lv->segments) {
/* FIXME: The second test shouldn't be required */
if ((seg->segtype ==
get_segtype_from_string(vg->cmd, "error"))) {
@@ -343,7 +343,7 @@
/* Deactivate error LVs */
if (!test_mode()) {
- list_iterate_items_safe(lvl, lvlt, &lvs_changed) {
+ dm_list_iterate_items_safe(lvl, lvlt, &lvs_changed) {
log_verbose("Deactivating (if active) logical volume %s",
lvl->lv->name);
@@ -356,13 +356,13 @@
* Don't try to lv_remove it.
* Continue work on others.
*/
- list_del(&lvl->list);
+ dm_list_del(&lvl->list);
}
}
}
/* Remove remaining LVs */
- list_iterate_items(lvl, &lvs_changed) {
+ dm_list_iterate_items(lvl, &lvs_changed) {
log_verbose("Removing LV %s from VG %s", lvl->lv->name,
lvl->lv->vg->name);
/* Skip LVs already removed by mirror code */
@@ -411,7 +411,7 @@
log_verbose("Removing \"%s\" from volume group \"%s\"", name, vg->name);
if (pvl)
- list_del(&pvl->list);
+ dm_list_del(&pvl->list);
pv->vg_name = vg->fid->fmt->orphan_vg_name;
pv->status = ALLOCATABLE_PV;
--- LVM2/tools/vgrename.c 2008/06/06 16:13:35 1.54
+++ LVM2/tools/vgrename.c 2008/11/03 22:14:30 1.55
@@ -23,7 +23,7 @@
int consistent = 1;
int match = 0;
int found_id = 0;
- struct list *vgids;
+ struct dm_list *vgids;
struct str_list *sl;
char *vg_name_new;
const char *vgid = NULL, *vg_name, *vg_name_old;
@@ -41,12 +41,12 @@
log_verbose("Checking for existing volume group \"%s\"", vg_name_old);
/* Avoid duplicates */
- if (!(vgids = get_vgids(cmd, 0)) || list_empty(vgids)) {
+ if (!(vgids = get_vgids(cmd, 0)) || dm_list_empty(vgids)) {
log_error("No complete volume groups found");
return 0;
}
- list_iterate_items(sl, vgids) {
+ dm_list_iterate_items(sl, vgids) {
vgid = sl->str;
if (!vgid || !(vg_name = vgname_from_vgid(NULL, vgid)) ||
is_orphan_vg(vg_name))
--- LVM2/tools/vgsplit.c 2008/04/23 14:33:06 1.67
+++ LVM2/tools/vgsplit.c 2008/11/03 22:14:30 1.68
@@ -28,7 +28,7 @@
return 0;
}
- list_move(&vg_to->pvs, &pvl->list);
+ dm_list_move(&vg_to->pvs, &pvl->list);
vg_from->pv_count--;
vg_to->pv_count++;
@@ -60,7 +60,7 @@
return 0;
}
- list_iterate_items(lvseg, &lvl->lv->segments) {
+ dm_list_iterate_items(lvseg, &lvl->lv->segments) {
if (lvseg->log_lv)
if (!_move_pvs_used_by_lv(vg_from, vg_to,
lvseg->log_lv->name))
@@ -86,7 +86,7 @@
{
struct lv_list *lvl;
- list_iterate_items(lvl, &vg->lvs)
+ dm_list_iterate_items(lvl, &vg->lvs)
if (lv == lvl->lv)
return 1;
@@ -95,11 +95,11 @@
static int _move_one_lv(struct volume_group *vg_from,
struct volume_group *vg_to,
- struct list *lvh)
+ struct dm_list *lvh)
{
- struct logical_volume *lv = list_item(lvh, struct lv_list)->lv;
+ struct logical_volume *lv = dm_list_item(lvh, struct lv_list)->lv;
- list_move(&vg_to->lvs, lvh);
+ dm_list_move(&vg_to->lvs, lvh);
if (lv_is_active(lv)) {
log_error("Logical volume \"%s\" must be inactive", lv->name);
@@ -118,15 +118,15 @@
static int _move_lvs(struct volume_group *vg_from, struct volume_group *vg_to)
{
- struct list *lvh, *lvht;
+ struct dm_list *lvh, *lvht;
struct logical_volume *lv;
struct lv_segment *seg;
struct physical_volume *pv;
struct volume_group *vg_with;
unsigned s;
- list_iterate_safe(lvh, lvht, &vg_from->lvs) {
- lv = list_item(lvh, struct lv_list)->lv;
+ dm_list_iterate_safe(lvh, lvht, &vg_from->lvs) {
+ lv = dm_list_item(lvh, struct lv_list)->lv;
if ((lv->status & SNAPSHOT))
continue;
@@ -137,7 +137,7 @@
/* Ensure all the PVs used by this LV remain in the same */
/* VG as each other */
vg_with = NULL;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
for (s = 0; s < seg->area_count; s++) {
/* FIXME Check AREA_LV too */
if (seg_type(seg, s) != AREA_PV)
@@ -189,19 +189,19 @@
static int _move_snapshots(struct volume_group *vg_from,
struct volume_group *vg_to)
{
- struct list *lvh, *lvht;
+ struct dm_list *lvh, *lvht;
struct logical_volume *lv;
struct lv_segment *seg;
int cow_from = 0;
int origin_from = 0;
- list_iterate_safe(lvh, lvht, &vg_from->lvs) {
- lv = list_item(lvh, struct lv_list)->lv;
+ dm_list_iterate_safe(lvh, lvht, &vg_from->lvs) {
+ lv = dm_list_item(lvh, struct lv_list)->lv;
if (!(lv->status & SNAPSHOT))
continue;
- list_iterate_items(seg, &lv->segments) {
+ dm_list_iterate_items(seg, &lv->segments) {
cow_from = _lv_is_in_vg(vg_from, seg->cow);
origin_from = _lv_is_in_vg(vg_from, seg->origin);
@@ -233,13 +233,13 @@
static int _move_mirrors(struct volume_group *vg_from,
struct volume_group *vg_to)
{
- struct list *lvh, *lvht;
+ struct dm_list *lvh, *lvht;
struct logical_volume *lv;
struct lv_segment *seg;
unsigned s, seg_in, log_in;
- list_iterate_safe(lvh, lvht, &vg_from->lvs) {
- lv = list_item(lvh, struct lv_list)->lv;
+ dm_list_iterate_safe(lvh, lvht, &vg_from->lvs) {
+ lv = dm_list_item(lvh, struct lv_list)->lv;
if (!(lv->status & MIRRORED))
continue;
^ permalink raw reply [flat|nested] 4+ messages in thread
* LVM2 ./Makefile.in ./configure ./configure.in ...
@ 2007-09-18 14:00 meyering
0 siblings, 0 replies; 4+ messages in thread
From: meyering @ 2007-09-18 14:00 UTC (permalink / raw)
To: lvm-devel, lvm2-cvs
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: meyering@sourceware.org 2007-09-18 14:00:42
Modified files:
. : Makefile.in configure configure.in
Added files:
test : .gitignore Makefile.in lvm-utils.sh mkdtemp
t0000-basic.sh t3000-lvcreate-pvtags.sh
t4000-pv-range-overflow.sh test-lib.sh
Log message:
Add testing framework, along with first few tests.
* Makefile.in (check): New target.
* configure.in (AC_CONFIG_FILES): Add test/Makefile.
* configure: Regenerate.
* test/.gitignore: New file.
* test/Makefile.in: New file.
* test/lvm-utils.sh: New script.
* test/mkdtemp (die, rand_bytes, mkdtemp): New script.
* test/t0000-basic.sh: New tests.
* test/t3000-lvcreate-pvtags.sh: New, failing test.
Derived from a script by Jun'ichi Nomura.
* test/t4000-pv-range-overflow.sh: New test.
* test/test-lib.sh: Testing framework, based on the one from git.
Author: Jim Meyering <jim@meyering.net>
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/Makefile.in.diff?cvsroot=lvm2&r1=1.18&r2=1.19
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/configure.diff?cvsroot=lvm2&r1=1.61&r2=1.62
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/configure.in.diff?cvsroot=lvm2&r1=1.59&r2=1.60
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/.gitignore.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/Makefile.in.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/lvm-utils.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/mkdtemp.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t0000-basic.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t3000-lvcreate-pvtags.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t4000-pv-range-overflow.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/test-lib.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1
--- LVM2/Makefile.in 2007/08/20 20:55:24 1.18
+++ LVM2/Makefile.in 2007/09/18 14:00:41 1.19
@@ -68,3 +68,6 @@
@CSCOPE_CMD@ -b -R
all: cscope.out
endif
+
+check: all
+ $(MAKE) -C test all
--- LVM2/configure 2007/09/12 18:23:02 1.61
+++ LVM2/configure 2007/09/18 14:00:41 1.62
@@ -11591,7 +11591,7 @@
################################################################################
-ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile dmeventd/Makefile dmeventd/mirror/Makefile doc/Makefile include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/snapshot/Makefile man/Makefile po/Makefile scripts/Makefile tools/Makefile tools/version.h tools/fsadm/Makefile test/mm/Makefile test/device/Makefile test/format1/Makefile test/regex/Makefile test/filters/Makefile"
+ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile dmeventd/Makefile dmeventd/mirror/Makefile doc/Makefile include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/snapshot/Makefile man/Makefile po/Makefile scripts/Makefile tools/Makefile tools/version.h tools/fsadm/Makefile test/mm/Makefile test/device/Makefile test/format1/Makefile test/regex/Makefile test/filters/Makefile test/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -12206,6 +12206,7 @@
"test/format1/Makefile") CONFIG_FILES="$CONFIG_FILES test/format1/Makefile" ;;
"test/regex/Makefile") CONFIG_FILES="$CONFIG_FILES test/regex/Makefile" ;;
"test/filters/Makefile") CONFIG_FILES="$CONFIG_FILES test/filters/Makefile" ;;
+ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
--- LVM2/configure.in 2007/09/12 16:54:23 1.59
+++ LVM2/configure.in 2007/09/18 14:00:41 1.60
@@ -1,6 +1,6 @@
##
## Copyright (C) 2000-2004 Sistina Software, Inc. All rights reserved.
-## Copyright (C) 2004 Red Hat, Inc. All rights reserved.
+## Copyright (C) 2004, 2007 Red Hat, Inc. All rights reserved.
##
## This file is part of the LVM2.
##
@@ -649,6 +649,7 @@
lib/locking/Makefile \
lib/mirror/Makefile \
lib/snapshot/Makefile \
+test/Makefile \
man/Makefile \
po/Makefile \
scripts/Makefile \
/cvs/lvm2/LVM2/test/.gitignore,v --> standard output
revision 1.1
--- LVM2/test/.gitignore
+++ - 2007-09-18 14:00:43.602140000 +0000
@@ -0,0 +1,4 @@
+.bin-dir-stamp
+Makefile
+bin
+init.sh
/cvs/lvm2/LVM2/test/Makefile.in,v --> standard output
revision 1.1
--- LVM2/test/Makefile.in
+++ - 2007-09-18 14:00:43.688053000 +0000
@@ -0,0 +1,75 @@
+#TEST_OPTS=--verbose --debug
+SHELL_PATH ?= $(SHELL)
+TAR ?= $(TAR)
+RM ?= rm -f
+
+subdir := $(shell pwd|sed 's,.*/,,')
+
+srcdir = .
+top_srcdir = ..
+top_builddir = ..
+abs_srcdir := $(shell cd $(srcdir) && pwd)
+abs_top_builddir := $(shell cd $(top_srcdir) && pwd)
+abs_top_srcdir = $(abs_top_builddir)
+# FIXME: for now, we assume top_srcdir == top_builddir,
+# but to permit non-srcdir builds, that will change.
+
+all: init.sh
+init.sh: Makefile.in .bin-dir-stamp
+ rm -f $@-t $@
+ echo 'top_srcdir=$(top_srcdir)' >> $@-t
+ echo 'abs_top_builddir=$(abs_top_builddir)' >> $@-t
+ echo 'abs_top_srcdir=$(abs_top_builddir)' >> $@-t
+ echo 'PATH=$(abs_top_builddir)/test/bin:$$PATH' >> $@-t
+ echo 'abs_srcdir=$(abs_srcdir)' >> $@-t
+ echo 'export PATH' >> $@-t
+ chmod a-w $@-t
+ mv $@-t $@
+
+# Shell quote;
+SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
+
+# T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
+T = \
+ t0000-basic.sh \
+ t3000-lvcreate-pvtags.sh \
+ t4000-pv-range-overflow.sh
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+$(T): init.sh
+ @echo "*** $@ ***"; '$(SHELL_PATH_SQ)' \
+ $(TESTS_ENVIRONMENT) $@ $(GIT_TEST_OPTS)
+
+dmdir = $(abs_top_srcdir)/../device-mapper
+so_name = $(dmdir)/lib/ioctl/libdevmapper.so.1.02
+
+# Having to create this link is a huge kludge,
+# and a major argument for including device-mapper in lvm.
+.bin-dir-stamp: lvm-wrapper
+ ln -fs libdevmapper.so $(so_name)
+ rm -rf bin
+ mkdir bin
+ for i in lvm $$(cat $(top_srcdir)/tools/.commands); do \
+ ln -s ../lvm-wrapper bin/$$i; \
+ done
+ touch $@
+
+lvm-wrapper: Makefile
+ rm -f $@-t $@
+ echo '#!/bin/sh' >> $@-t
+ echo 'export LD_LIBRARY_PATH="$(dmdir)/lib/ioctl"' >> $@-t
+ echo 'cmd=$$(echo ./$$0|sed "s,.*/,,")' >> $@-t
+ echo 'test "$$cmd" = lvm &&' >> $@-t
+ echo 'exec "$(abs_top_builddir)/tools/lvm" "$$@"' >> $@-t
+ echo 'exec "$(abs_top_builddir)/tools/lvm" "$$cmd" "$$@"' >> $@-t
+ chmod a-w,a+x $@-t
+ mv $@-t $@
+
+clean:
+ rm -rf init.sh lvm-wrapper bin .bin-dir-stamp
+
+all: $(T)
+.PHONY: $(T) clean
+.NOTPARALLEL:
/cvs/lvm2/LVM2/test/lvm-utils.sh,v --> standard output
revision 1.1
--- LVM2/test/lvm-utils.sh
+++ - 2007-09-18 14:00:43.774512000 +0000
@@ -0,0 +1,47 @@
+# Put lvm-related utilities here.
+# This file is sourced from test-lib.sh.
+
+export LVM_SUPPRESS_FD_WARNINGS=1
+
+ME=$(basename "$0")
+warn() { echo >&2 "$ME: $@"; }
+
+
+unsafe_losetup_()
+{
+ f=$1
+ # Prefer the race-free losetup from recent util-linux-ng.
+ dev=$(losetup --find --show "$f" 2>/dev/null) \
+ && { echo "$dev"; return 0; }
+
+ # If that fails, try to use util-linux-ng's -f "find-device" option.
+ dev=$(losetup -f 2>/dev/null) \
+ && losetup "$dev" "$f" \
+ && { echo "$dev"; return 0; }
+
+ # Last resort: iterate through /dev/loop{,/}{0,1,2,3,4,5,6,7,8,9}
+ for slash in '' /; do
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ dev=/dev/loop$slash$i
+ losetup $dev > /dev/null 2>&1 && continue;
+ losetup "$dev" "$f" > /dev/null && { echo "$dev"; return 0; }
+ break
+ done
+ done
+
+ return 1
+}
+
+loop_setup_()
+{
+ file=$1
+ dd if=/dev/zero of="$file" bs=1M count=1 seek=1000 > /dev/null 2>&1 \
+ || { warn "loop_setup_ failed: Unable to create tmp file $file"; return 1; }
+
+ # NOTE: this requires a new enough version of losetup
+ dev=$(unsafe_losetup_ "$file" 2>/dev/null) \
+ || { warn "loop_setup_ failed: Unable to create loopback device"; return 1; }
+
+ echo "$dev"
+ return 0;
+}
/cvs/lvm2/LVM2/test/mkdtemp,v --> standard output
revision 1.1
--- LVM2/test/mkdtemp
+++ - 2007-09-18 14:00:43.862371000 +0000
@@ -0,0 +1,107 @@
+#!/bin/sh
+# Create a temporary directory, sort of like mktemp -d does.
+# Usage: mkdtemp /tmp phoey.XXXXXXXXXX
+
+# First, try to use the mktemp program.
+# Failing that, we'll roll our own mktemp-like function:
+# - try to get random bytes from /dev/urandom
+# - failing that, generate output from a combination of quickly-varying
+# sources and gzip. Ignore non-varying gzip header, and extract
+# "random" bits from there.
+# - given those bits, map to file-name bytes using tr, and try to create
+# the desired directory.
+# - make only $MAX_TRIES attempts
+
+ME=$(basename "$0")
+die() { echo >&2 "$ME: $@"; exit 1; }
+
+MAX_TRIES=4
+
+rand_bytes()
+{
+ n=$1
+
+ chars=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
+
+ dev_rand=/dev/urandom
+ if test -r "$dev_rand"; then
+ # Note: 256-length($chars) == 194; 3 copies of $chars is 186 + 8 = 194.
+ head -c$n "$dev_rand" | tr -c $chars 01234567$chars$chars$chars
+ return
+ fi
+
+ cmds='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n'
+ data=$( (eval "$cmds") 2>&1 | gzip )
+
+ n_plus_50=$(expr $n + 50)
+
+ # Ensure that $data has length at least 50+$n
+ while :; do
+ len=$(echo "$data"|wc -c)
+ test $n_plus_50 -le $len && break;
+ data=$( (echo "$data"; eval "$cmds") 2>&1 | gzip )
+ done
+
+ echo "$data" \
+ | dd bs=1 skip=50 count=$n 2>/dev/null \
+ | tr -c $chars 01234567$chars$chars$chars
+}
+
+mkdtemp()
+{
+ case $# in
+ 2);;
+ *) die "Usage: $ME DIR TEMPLATE";;
+ esac
+
+ destdir=$1
+ template=$2
+
+ case $template in
+ *XXXX) ;;
+ *) die "invalid template: $template (must have a suffix of at least 4 X's)";;
+ esac
+
+ fail=0
+
+ # First, try to use mktemp.
+ d=$(env -u TMPDIR mktemp -d -t -p "$destdir" "$template" 2>/dev/null) \
+ || fail=1
+
+ # The resulting name must be in the specified directory.
+ case $d in "$destdir"*);; *) fail=1;; esac
+
+ # It must have created the directory.
+ test -d "$d" || fail=1
+
+ # It must have 0700 permissions.
+ perms=$(ls -dgo "$d" 2>/dev/null) || fail=1
+ case $perms in drwx------*) ;; *) fail=1;; esac
+
+ test $fail = 0 && {
+ echo "$d"
+ return
+ }
+
+ # If we reach this point, we'll have to create a directory manually.
+
+ # Get a copy of the template without its suffix of X's.
+ base_template=$(echo "$template"|sed 's/XX*$//')
+
+ # Calculate how many X's we've just removed.
+ nx=$(expr length "$template" - length "$base_template")
+
+ err=
+ i=1
+ while :; do
+ X=$(rand_bytes $nx)
+ candidate_dir="$destdir/$base_template$X"
+ err=$(mkdir -m 0700 "$candidate_dir" 2>&1) \
+ && { echo "$candidate_dir"; return; }
+ test $MAX_TRIES -le $i && break;
+ i=$(expr $i + 1)
+ done
+ die "$err"
+}
+
+mkdtemp "$@"
/cvs/lvm2/LVM2/test/t0000-basic.sh,v --> standard output
revision 1.1
--- LVM2/test/t0000-basic.sh
+++ - 2007-09-18 14:00:43.968067000 +0000
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+test_description='Basics: see if tools are built, etc.'
+
+. ./test-lib.sh
+
+lvm >/dev/null 2>&1
+if test $? != 3; then
+ echo >&2 'You do not seem to have built lvm yet.'
+ exit 1
+fi
+
+v=$abs_top_srcdir/tools/version.h
+test_expect_success \
+ "get version string from $v" \
+ 'sed -n "/#define LVM_VERSION ./s///p" '"$v"'|sed "s/ .*//" > expected'
+
+test_expect_success \
+ 'get version of a just-built binary, ensuring PATH is set properly' \
+ 'lvm pvmove --version|sed -n "1s/.*: *\([0-9][^ ]*\) .*/\1/p" > actual'
+
+test_expect_success \
+ 'ensure they are the same' \
+ 'diff -u actual expected'
+
+test_done
/cvs/lvm2/LVM2/test/t3000-lvcreate-pvtags.sh,v --> standard output
revision 1.1
--- LVM2/test/t3000-lvcreate-pvtags.sh
+++ - 2007-09-18 14:00:44.083137000 +0000
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+test_description='Ensure that pvmove diagnoses PE-range values 2^32 and larger.'
+privileges_required_=1
+
+. ./test-lib.sh
+
+cleanup_()
+{
+ test -n "$vg" && {
+ lvremove -ff $vg
+ vgremove $vg
+ } > /dev/null
+ test -n "$pvs" && {
+ pvremove $pvs > /dev/null
+ for d in $pvs; do
+ dmsetup remove $(basename $d)
+ done
+ }
+ losetup -d $lodev
+ rm -f $lofile
+}
+
+nr_pvs=3
+pvsize=$((200 * 1024 * 2))
+
+test_expect_success \
+ 'set up temp file and loopback device' \
+ 'lofile="$(pwd)/lofile" && lodev=$(loop_setup_ "$lofile")'
+
+offset=0
+pvs=
+for n in $(seq 1 $nr_pvs); do
+ test_expect_success \
+ "create pv$n" \
+ 'echo "0 $pvsize linear $lodev $offset" > in &&
+ dmsetup create pv$n < in'
+ offset=$(($offset + $pvsize))
+done
+
+for n in $(seq 1 $nr_pvs); do
+ pvs="$pvs /dev/mapper/pv$n"
+done
+
+test_expect_success \
+ "Run this: pvcreate $pvs" \
+ 'pvcreate $pvs'
+
+vg=lvcreate-pvtags-vg-$$
+test_expect_success "Run this: vgcreate $vg $pvs" \
+ 'vgcreate $vg $pvs'
+test_expect_success "Run this: pvchange --addtag fast $pvs" \
+ 'pvchange --addtag fast $pvs'
+
+test_expect_success t 'lvcreate -l3 -i3 $vg @fast'
+test_expect_failure u 'lvcreate -l4 -i4 $vg @fast'
+test_expect_failure v 'lvcreate -l2 -i2 $vg /dev/mapper/pv1'
+
+test_expect_success 'lvcreate mirror' \
+ 'lvcreate -l1 -m1 $vg @fast'
+test_expect_success 'lvcreate mirror corelog' \
+ 'lvcreate -l1 -m2 --corelog $vg @fast'
+test_expect_failure 'lvcreate mirror' \
+ 'lvcreate -l1 -m2 $vg @fast'
+test_expect_failure 'lvcreate mirror (corelog)' \
+ 'lvcreate -l1 -m3 --corelog $vg @fast'
+test_expect_failure 'lvcreate mirror' \
+ 'lvcreate -l1 -m1 --corelog $vg /dev/mapper/pv1'
+
+test_done
/cvs/lvm2/LVM2/test/t4000-pv-range-overflow.sh,v --> standard output
revision 1.1
--- LVM2/test/t4000-pv-range-overflow.sh
+++ - 2007-09-18 14:00:44.216992000 +0000
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+test_description='Ensure that pvmove diagnoses PE-range values 2^32 and larger.'
+privileges_required_=1
+
+. ./test-lib.sh
+
+cleanup_()
+{
+ test -n "$vg" && {
+ vgchange -an "$vg"
+ lvremove -ff "$vg"
+ vgremove "$vg"
+ } > /dev/null
+ test -n "$d1" && losetup -d "$d1"
+ test -n "$d2" && losetup -d "$d2"
+ rm -f "$f1" "$f2"
+}
+
+test_expect_success \
+ 'set up temp files, loopback devices, PVs, VG, LV' \
+ 'f1="$(pwd)/1" && d1=$(loop_setup_ "$f1") &&
+ f2="$(pwd)/2" && d2=$(loop_setup_ "$f2") &&
+ pvcreate $d1 $d2 &&
+ vg=pvmove-demo-vg-$$ &&
+ vgcreate "$vg" $d1 $d2 &&
+ lv=lv1 &&
+ lvcreate -L4 -n"$lv" "$vg"'
+
+# Test for the bogus diagnostic reported in BZ 284771
+# http://bugzilla.redhat.com/284771. Once the BZ is fixed,
+# update the code below to expect an improved diagnostic.
+test_expect_success \
+ 'run pvmove with an unrecognized LV name to show bad diagnostic' \
+ 'pvmove -v -nbogus $d1 $d2 2> err
+ test $? = 5 &&
+ tail -n1 err > out &&
+ echo " No data to move for $vg" > expected &&
+ diff -u out expected'
+
+# With lvm-2.02.28 and earlier, on a system with 64-bit "long int",
+# the PE range parsing code would accept values up to 2^64-1, but would
+# silently truncate them to int32_t. I.e., $d1:$(echo 2^32|bc) would be
+# treated just like $d1:0.
+test_expect_failure \
+ 'run the offending pvmove command' \
+ 'pvmove -v -n$lv $d1:4294967296 $d2'
+
+test_done
+# Local Variables:
+# indent-tabs-mode: nil
+# End:
/cvs/lvm2/LVM2/test/test-lib.sh,v --> standard output
revision 1.1
--- LVM2/test/test-lib.sh
+++ - 2007-09-18 14:00:44.326477000 +0000
@@ -0,0 +1,251 @@
+#!/bin/sh
+# Derived from git's t/test-lib.sh, which is Copyright (c) 2005 Junio C Hamano
+
+# For repeatability, reset the environment to known value.
+LANG=C
+LC_ALL=C
+TZ=UTC
+export LANG LC_ALL TZ
+
+. ./init.sh || { echo >&2 you must run make first; exit 1; }
+
+# Protect ourselves from common misconfiguration to export
+# CDPATH into the environment
+unset CDPATH
+
+# Each test should start with something like this, after copyright notices:
+#
+# test_description='Description of this test...
+# This test checks if command xyzzy does the right thing...
+# '
+# . ./test-lib.sh
+
+error () {
+ echo "* error: $*"
+ exit 1
+}
+
+say () {
+ echo "* $*"
+}
+
+this_test_() { expr "./$0" : '.*/\(t[0-9]*\)-[^/]*$'; }
+
+test "${test_description}" != "" ||
+error "Test script did not set test_description."
+
+while test "$#" -ne 0
+do
+ case "$1" in
+ -d|--d|--de|--deb|--debu|--debug)
+ debug=t; shift ;;
+ -i|--i|--im|--imm|--imme|--immed|--immedi|--immedia|--immediat|--immediate)
+ immediate=t; shift ;;
+ -h|--h|--he|--hel|--help)
+ echo "$test_description"
+ exit 0 ;;
+ -v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
+ verbose=t; shift ;;
+ esac
+done
+
+exec 5>&1
+if test "$verbose" = "t"
+then
+ exec 4>&2 3>&1
+else
+ exec 4>/dev/null 3>/dev/null
+fi
+
+test_failure=0
+test_count=0
+
+trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit
+
+# You are not expected to call test_ok_ and test_failure_ directly, use
+# the text_expect_* functions instead.
+
+test_ok_ () {
+ test_count=$(expr "$test_count" + 1)
+ say " ok $test_count: $@"
+}
+
+test_failure_ () {
+ test_count=$(expr "$test_count" + 1)
+ test_failure=$(expr "$test_failure" + 1);
+ say "FAIL $test_count: $1"
+ shift
+ echo "$@" | sed -e 's/^/ /'
+ test "$immediate" = "" || exit 1
+}
+
+test_debug () {
+ test "$debug" = "" || eval "$1"
+}
+
+test_run_ () {
+ eval >&3 2>&4 "$1"
+ eval_ret="$?"
+ return 0
+}
+
+test_skip () {
+ this_test=$(this_test_)
+ this_test="$this_test.$(expr "$test_count" + 1)"
+ to_skip=
+ for skp in $SKIP_TESTS
+ do
+ case "$this_test" in
+ $skp)
+ to_skip=t
+ esac
+ done
+ case "$to_skip" in
+ t)
+ say >&3 "skipping test: $@"
+ test_count=$(expr "$test_count" + 1)
+ say "skip $test_count: $1"
+ : true
+ ;;
+ *)
+ false
+ ;;
+ esac
+}
+
+test_expect_failure () {
+ test "$#" = 2 ||
+ error "bug in the test script: not 2 parameters to test-expect-failure"
+ if ! test_skip "$@"
+ then
+ say >&3 "expecting failure: $2"
+ test_run_ "$2"
+ if [ "$?" = 0 -a "$eval_ret" != 0 -a "$eval_ret" -lt 129 ]
+ then
+ test_ok_ "$1"
+ else
+ test_failure_ "$@"
+ fi
+ fi
+ echo >&3 ""
+}
+
+test_expect_success () {
+ test "$#" = 2 ||
+ error "bug in the test script: not 2 parameters to test-expect-success"
+ if ! test_skip "$@"
+ then
+ say >&3 "expecting success: $2"
+ test_run_ "$2"
+ if [ "$?" = 0 -a "$eval_ret" = 0 ]
+ then
+ test_ok_ "$1"
+ else
+ test_failure_ "$@"
+ fi
+ fi
+ echo >&3 ""
+}
+
+test_expect_code () {
+ test "$#" = 3 ||
+ error "bug in the test script: not 3 parameters to test-expect-code"
+ if ! test_skip "$@"
+ then
+ say >&3 "expecting exit code $1: $3"
+ test_run_ "$3"
+ if [ "$?" = 0 -a "$eval_ret" = "$1" ]
+ then
+ test_ok_ "$2"
+ else
+ test_failure_ "$@"
+ fi
+ fi
+ echo >&3 ""
+}
+
+test_done () {
+ case "$test_failure" in
+ 0)
+ # We could:
+ # cd .. && rm -fr trash
+ # but that means we forbid any tests that use their own
+ # subdirectory from calling test_done without coming back
+ # to where they started from.
+ # The Makefile provided will clean this test area so
+ # we will leave things as they are.
+
+ say "passed all $test_count test(s)"
+ exit 0 ;;
+
+ *)
+ say "failed $test_failure among $test_count test(s)"
+ exit 1 ;;
+
+ esac
+}
+
+. lvm-utils.sh
+
+this_test=$(this_test_)
+
+skip_=0
+# If $privileges_required_ is nonempty, non-root skips this test.
+if test "$privileges_required_" != ''; then
+ uid=`id -u` || error 'failed to run "id -u"'
+ if test "$uid" != 0; then
+ SKIP_TESTS="$SKIP_TESTS $this_test"
+ say "you have insufficient privileges for test $this_test"
+ skip_=1
+ fi
+fi
+
+# Test the binaries we have just built.
+abs_top_srcdir=$(cd .. && pwd)
+pwd_=`pwd`
+
+test_dir_=${LVM_TEST_DIR-.}
+test "$test_dir_" = . && test_dir_=$pwd_
+
+# This is a stub function that is run upon trap (upon regular exit and
+# interrupt). Override it with a per-test function, e.g., to unmount
+# a partition, or to undo any other global state changes.
+cleanup_() { :; }
+
+for skp in $SKIP_TESTS
+do
+ to_skip=
+ for skp in $SKIP_TESTS
+ do
+ case "$this_test" in
+ $skp)
+ to_skip=t
+ esac
+ done
+ case "$to_skip" in
+ t)
+ say >&3 "skipping test $this_test altogether"
+ say "skip all tests in $this_test"
+ trap - exit
+ test_done
+ esac
+done
+
+t0=$($abs_srcdir/mkdtemp $test_dir_ lvm-$this_test.XXXXXXXXXX) \
+ || error "failed to create temporary directory in $test_dir_"
+
+# Run each test from within a temporary sub-directory named after the
+# test itself, and arrange to remove it upon exception or normal exit.
+trap 'st=$?; cleanup_; d='"$t0"';
+ cd '"$test_dir_"' && chmod -R u+rwx "$d" && rm -rf "$d" && exit $st' 0
+trap '(exit $?); exit $?' 1 2 13 15
+
+cd $t0 || error "failed to cd to $t0"
+
+if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then
+ compare='diff -u'
+elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then
+ compare='cmp -s'
+else
+ compare=cmp
+fi
^ permalink raw reply [flat|nested] 4+ messages in thread
* LVM2 ./Makefile.in ./configure ./configure.in ...
@ 2004-02-13 22:56 agk
0 siblings, 0 replies; 4+ messages in thread
From: agk @ 2004-02-13 22:56 UTC (permalink / raw)
To: lvm2-cvs
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2004-02-13 22:56:45
Modified files:
. : Makefile.in configure configure.in make.tmpl.in
include : .symlinks Makefile.in
lib/commands : toolcontext.c
lib/log : log.c
lib/misc : lib.h
Added files:
po : Makefile.in de.po lvm2.po pogen.h
Log message:
Basic internationalisation support.
Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/Makefile.in.diff?cvsroot=lvm2&r1=1.5&r2=1.6
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/configure.diff?cvsroot=lvm2&r1=1.19&r2=1.20
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/configure.in.diff?cvsroot=lvm2&r1=1.18&r2=1.19
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/make.tmpl.in.diff?cvsroot=lvm2&r1=1.28&r2=1.29
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/include/.symlinks.diff?cvsroot=lvm2&r1=1.28&r2=1.29
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/include/Makefile.in.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.c.diff?cvsroot=lvm2&r1=1.10&r2=1.11
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/log/log.c.diff?cvsroot=lvm2&r1=1.18&r2=1.19
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/misc/lib.h.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/po/Makefile.in.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/po/de.po.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/po/lvm2.po.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/po/pogen.h.diff?cvsroot=lvm2&r1=NONE&r2=1.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-11-03 22:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-14 17:39 LVM2 ./Makefile.in ./configure ./configure.in agk
-- strict thread matches above, loose matches on Subject: below --
2008-11-03 22:14 agk
2007-09-18 14:00 meyering
2004-02-13 22:56 agk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).