2001-09-21 16:37:43 +04:00
#
2004-03-30 23:35:44 +04:00
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
2014-01-27 15:27:16 +04:00
# Copyright (C) 2004-2014 Red Hat, Inc. All rights reserved.
2001-09-21 16:37:43 +04:00
#
2007-09-21 14:16:45 +04:00
# This file is part of LVM2.
2001-09-21 16:37:43 +04:00
#
2004-03-30 23:35:44 +04:00
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
2016-01-21 13:49:46 +03:00
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2001-09-21 16:37:43 +04:00
srcdir = @srcdir@
top_srcdir = @top_srcdir@
2009-10-02 23:10:31 +04:00
top_builddir = @top_builddir@
2001-09-21 16:37:43 +04:00
2004-03-26 16:21:12 +03:00
SOURCES = \
2001-10-16 20:25:28 +04:00
activate/activate.c \
2003-07-05 02:34:56 +04:00
cache/lvmcache.c \
2018-08-27 22:53:09 +03:00
writecache/writecache.c \
2019-11-21 01:07:27 +03:00
integrity/integrity.c \
2018-04-30 12:11:23 +03:00
cache_segtype/cache.c \
2002-11-18 17:04:08 +03:00
commands/toolcontext.c \
2001-09-21 16:37:43 +04:00
config/config.c \
2001-10-25 15:38:19 +04:00
datastruct/btree.c \
2003-09-18 00:35:57 +04:00
datastruct/str_list.c \
2018-01-30 15:13:48 +03:00
device/bcache.c \
2018-05-03 11:34:41 +03:00
device/bcache-utils.c \
2001-10-03 16:46:17 +04:00
device/dev-cache.c \
device usage based on devices file
The LVM devices file lists devices that lvm can use. The default
file is /etc/lvm/devices/system.devices, and the lvmdevices(8)
command is used to add or remove device entries. If the file
does not exist, or if lvm.conf includes use_devicesfile=0, then
lvm will not use a devices file.
The command option --devicesfile <filename> allows lvm to be
used with a different set of devices. This allows different
applications to use lvm on different sets of devices, e.g.
system devices do not need to be exposed to an application
using lvm on its own devices, and application devices do not
need to be exposed to the system devices.
Setting --devicesfile "" causes lvm to not use a devices file.
An existing but empty devices file will cause lvm to see no
devices.
When the devices file is used, the regex filter is not used,
and the filter settings in lvm.conf or the command line are
ignored.
LVM records devices in the devices file using hardware-specific
IDs, such as the WWID, and attempts to use subsystem-specific
IDs for virtual device types (which should ideally be as unique
and stable a hardware-based ID.) These IDs are also stored in
the VG metadata. When neither kind of ID is available, lvm falls
back use the unstable device name as the device ID. When
devnames are used, lvm needs to take extra steps to find devices
if their devname changes, e.g. after reboot.
When proper device IDs are used, an lvm command will not look
at devices outside the devices file, but when devnames must
be used as a fallback, lvm will scan devices outside the
devices file to locate PVs on renamed devices. A config setting
search_for_devnames can be used to control the scanning for
renamed devname entries.
Related to the devices file, the new command option
--devices <devnames> allows a specific list of devices to be
exposed to the lvm command, overriding the devices file.
The listed devices act as a sort of devices file in terms
of limiting which devices lvm will use.
2020-06-23 21:25:41 +03:00
device/device_id.c \
2014-12-12 14:55:41 +03:00
device/dev-ext.c \
2001-10-03 16:46:17 +04:00
device/dev-io.c \
2004-11-18 23:02:21 +03:00
device/dev-md.c \
2009-03-17 16:59:56 +03:00
device/dev-swap.c \
2013-06-12 13:53:55 +04:00
device/dev-type.c \
2010-08-20 03:08:18 +04:00
device/dev-luks.c \
2015-10-12 10:09:11 +03:00
device/dev-dasd.c \
2018-05-01 22:32:15 +03:00
device/dev-lvm1-pool.c \
2001-10-22 18:39:12 +04:00
display/display.c \
2004-05-11 20:01:58 +04:00
error/errseg.c \
2009-10-16 21:41:49 +04:00
unknown/unknown.c \
2001-10-22 18:39:12 +04:00
filters/filter-composite.c \
2001-10-22 18:14:00 +04:00
filters/filter-persistent.c \
filters/filter-regex.c \
2004-02-13 17:46:04 +03:00
filters/filter-sysfs.c \
2004-04-16 20:12:04 +04:00
filters/filter-md.c \
filters: add firmware RAID filter
Just like MD filtering that detects components of software RAID (md),
add detection for firmware RAID.
We're not adding any native code to detect this - there are lots of
firmware RAIDs out there which is just out of LVM scope. However,
with current changes with which we're able to get device info from
external sources (e.g. external_device_info_source="udev"), we can
do this easily if the external device status source has this kind
of information - which is the case of "udev" source where the results
of blkid scans are stored.
This detection should cover all firmware RAIDs that blkid can detect and
which are identified as:
ID_FS_TYPE = {adaptec,ddf,hpt45x,hpt37x,isw,jmicron,lsi_mega,nvidia,promise_fasttrack,silicon_medley,via}_raid_member
2014-09-09 17:05:57 +04:00
filters/filter-fwraid.c \
2011-11-11 19:11:08 +04:00
filters/filter-mpath.c \
2013-08-14 02:26:58 +04:00
filters/filter-partitioned.c \
filters/filter-type.c \
2014-09-23 14:49:01 +04:00
filters/filter-usable.c \
2016-05-25 21:57:33 +03:00
filters/filter-internal.c \
2018-05-01 22:32:15 +03:00
filters/filter-signature.c \
device usage based on devices file
The LVM devices file lists devices that lvm can use. The default
file is /etc/lvm/devices/system.devices, and the lvmdevices(8)
command is used to add or remove device entries. If the file
does not exist, or if lvm.conf includes use_devicesfile=0, then
lvm will not use a devices file.
The command option --devicesfile <filename> allows lvm to be
used with a different set of devices. This allows different
applications to use lvm on different sets of devices, e.g.
system devices do not need to be exposed to an application
using lvm on its own devices, and application devices do not
need to be exposed to the system devices.
Setting --devicesfile "" causes lvm to not use a devices file.
An existing but empty devices file will cause lvm to see no
devices.
When the devices file is used, the regex filter is not used,
and the filter settings in lvm.conf or the command line are
ignored.
LVM records devices in the devices file using hardware-specific
IDs, such as the WWID, and attempts to use subsystem-specific
IDs for virtual device types (which should ideally be as unique
and stable a hardware-based ID.) These IDs are also stored in
the VG metadata. When neither kind of ID is available, lvm falls
back use the unstable device name as the device ID. When
devnames are used, lvm needs to take extra steps to find devices
if their devname changes, e.g. after reboot.
When proper device IDs are used, an lvm command will not look
at devices outside the devices file, but when devnames must
be used as a fallback, lvm will scan devices outside the
devices file to locate PVs on renamed devices. A config setting
search_for_devnames can be used to control the scanning for
renamed devname entries.
Related to the devices file, the new command option
--devices <devnames> allows a specific list of devices to be
exposed to the lvm command, overriding the devices file.
The listed devices act as a sort of devices file in terms
of limiting which devices lvm will use.
2020-06-23 21:25:41 +03:00
filters/filter-deviceid.c \
2002-01-09 22:16:48 +03:00
format_text/archive.c \
2005-05-17 17:46:38 +04:00
format_text/archiver.c \
2001-12-20 14:52:54 +03:00
format_text/export.c \
format_text/flags.c \
2002-01-07 12:16:20 +03:00
format_text/format-text.c \
2001-12-20 14:52:54 +03:00
format_text/import.c \
2002-11-18 17:04:08 +03:00
format_text/import_vsn1.c \
format_text/text_label.c \
2008-06-25 20:52:27 +04:00
freeseg/freeseg.c \
2002-01-11 13:43:32 +03:00
label/label.c \
2018-12-07 23:35:22 +03:00
label/hints.c \
2002-04-11 18:10:32 +04:00
locking/file_locking.c \
2002-02-12 19:31:31 +03:00
locking/locking.c \
2001-09-21 16:37:43 +04:00
log/log.c \
2014-02-04 17:59:58 +04:00
metadata/cache_manip.c \
2019-09-24 23:28:02 +03:00
metadata/writecache_manip.c \
2019-11-21 01:07:27 +03:00
metadata/integrity_manip.c \
2010-09-30 17:05:45 +04:00
metadata/lv.c \
2001-11-06 13:29:56 +03:00
metadata/lv_manip.c \
2002-01-07 18:08:28 +03:00
metadata/merge.c \
2001-10-12 14:32:06 +04:00
metadata/metadata.c \
2003-04-30 19:24:49 +04:00
metadata/mirror.c \
2014-01-22 20:11:29 +04:00
metadata/pool_manip.c \
2010-09-30 17:05:20 +04:00
metadata/pv.c \
2020-01-14 23:12:20 +03:00
metadata/pv_list.c \
2005-04-20 00:58:25 +04:00
metadata/pv_manip.c \
2001-11-05 19:41:38 +03:00
metadata/pv_map.c \
2011-08-11 22:24:40 +04:00
metadata/raid_manip.c \
2004-09-16 22:40:56 +04:00
metadata/segtype.c \
2002-02-12 19:31:31 +03:00
metadata/snapshot_manip.c \
2011-09-06 23:25:42 +04:00
metadata/thin_manip.c \
2018-06-29 12:11:14 +03:00
metadata/vdo_manip.c \
2010-09-30 17:04:55 +04:00
metadata/vg.c \
2018-04-30 12:11:23 +03:00
mirror/mirrored.c \
2002-11-18 17:04:08 +03:00
misc/crc.c \
2005-10-17 22:00:02 +04:00
misc/lvm-exec.c \
2002-01-09 22:16:48 +03:00
misc/lvm-file.c \
2014-05-01 20:37:14 +04:00
misc/lvm-flock.c \
2008-10-30 20:27:28 +03:00
misc/lvm-globals.c \
2016-08-18 16:06:13 +03:00
misc/lvm-maths.c \
2014-05-01 20:37:14 +04:00
misc/lvm-signal.c \
2002-12-20 02:25:55 +03:00
misc/lvm-string.c \
2006-08-17 22:23:44 +04:00
misc/lvm-wrappers.c \
2010-11-30 14:53:31 +03:00
misc/lvm-percent.c \
2018-12-14 23:51:11 +03:00
misc/sharedlib.c \
2003-07-05 02:34:56 +04:00
mm/memlock.c \
2016-02-22 18:42:03 +03:00
notify/lvmnotify.c \
2013-07-12 21:09:44 +04:00
properties/prop_common.c \
2018-04-30 12:11:23 +03:00
raid/raid.c \
2010-08-20 16:44:47 +04:00
report/properties.c \
2002-12-12 23:55:49 +03:00
report/report.c \
2018-04-30 12:11:23 +03:00
snapshot/snapshot.c \
2004-05-05 01:25:57 +04:00
striped/striped.c \
2018-04-30 12:11:23 +03:00
thin/thin.c \
2004-05-11 20:01:58 +04:00
uuid/uuid.c \
2009-03-06 19:19:52 +03:00
zero/zero.c
2002-11-18 17:04:08 +03:00
2003-01-09 01:44:07 +03:00
i f e q ( "@DEVMAPPER@" , "yes" )
2004-03-26 16:21:12 +03:00
SOURCES += \
2003-01-09 01:44:07 +03:00
activate/dev_manager.c \
activate/fs.c
e n d i f
2015-05-09 02:59:18 +03:00
i f e q ( "@BUILD_LVMPOLLD@" , "yes" )
SOURCES += \
lvmpolld/lvmpolld-client.c
e n d i f
2015-03-05 23:00:44 +03:00
i f e q ( "@BUILD_LVMLOCKD@" , "yes" )
SOURCES += \
locking/lvmlockd.c
e n d i f
2018-06-29 12:11:14 +03:00
i f e q ( "@VDO@" , "internal" )
SOURCES += vdo/vdo.c
e n d i f
2009-03-06 19:17:28 +03:00
LIB_NAME = liblvm-internal
LIB_STATIC = $( LIB_NAME) .a
2001-09-21 16:37:43 +04:00
2010-03-29 18:11:17 +04:00
CFLOW_LIST = $( SOURCES)
CFLOW_LIST_TARGET = $( LIB_NAME) .cflow
2017-08-01 01:01:07 +03:00
PROGS_CFLAGS = $( BLKID_CFLAGS) $( UDEV_CFLAGS)
2001-09-21 16:37:43 +04:00
2017-08-01 01:01:07 +03:00
i n c l u d e $( top_builddir ) / m a k e . t m p l
2014-03-06 19:03:08 +04:00
2009-06-03 15:31:06 +04:00
$(SUBDIRS) : $( LIB_STATIC )
2015-09-08 15:33:29 +03:00
CLEAN_TARGETS += misc/configure.h misc/lvm-version.h