diff mbox series

[6/6] README.md: add basic information about building multipath-tools

Message ID 20220201234024.27675-7-mwilck@suse.com (mailing list archive)
State Not Applicable, archived
Delegated to: Mike Snitzer
Headers show
Series multipath-tools: kernel module loading improvements | expand

Commit Message

Martin Wilck Feb. 1, 2022, 11:40 p.m. UTC
From: Martin Wilck <mwilck@suse.com>

Signed-off-by: Martin Wilck <mwilck@suse.com>
---
 README.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

Comments

Benjamin Marzinski Feb. 3, 2022, 12:40 a.m. UTC | #1
On Wed, Feb 02, 2022 at 12:40:24AM +0100, mwilck@suse.com wrote:
> From: Martin Wilck <mwilck@suse.com>
> 
> Signed-off-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
> ---
>  README.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
> 
> diff --git a/README.md b/README.md
> index b15c265..1547862 100644
> --- a/README.md
> +++ b/README.md
> @@ -52,6 +52,62 @@ To get latest devel code:
>  Github page: https://github.com/opensvc/multipath-tools
>  
>  
> +Building multipath-tools
> +========================
> +
> +Prerequisites: development packages of for `libdevmapper`, `libreadline`,
> +`libaio`, `libudev`, `libjson-c`, `liburcu`, and `libsystemd`.
> +
> +To build multipath-tools, type:
> +
> +    make
> +	make DESTDIR="/my/target/dir" install
> +
> +To uninstall, type:
> +
> +    make uninstall
> +
> +Customizing the build
> +---------------------
> +
> +The following variables can be passed to the `make` command line:
> +
> + * `ENABLE_LIBDMMP=0`: disable building libdmmp
> + * `ENABLE_DMEVENTS_POLL=0`: disable support for the device-mapper event
> +   polling API. For use with pre-5.0 kernels that don't supprt dmevent polling
> +   (but even if you don't use this option, multipath-tools will work with
> +   these kernels).
> + * `SCSI_DH_MODULES_PRELOAD="(list)"`: specify a space-separated list of SCSI
> +   device handler kernel modules to load early during boot. Some
> +   multipath-tools functionality depends on these modules being loaded
> +   early. This option causes a *modules-load.d(5)* configuration file to be
> +   created, thus it depends on functionality provided by *systemd*.
> +   This variable only matters for `make install`.
> +
> +Note: The usefulness of the preload list depends on the kernel configuration.
> +It's especially useful if `scsi_mod` is builtin but `scsi_dh_alua` and
> +other device handler modules are built as modules. If `scsi_mod` itself is compiled
> +as a module, it might make more sense to use a module softdep for the same
> +purpose.
> +
> +See `Makefile.inc` for additional variables to customize paths and compiler
> +flags.
> +
> +Special Makefile targets
> +------------------------
> +
> +The following targets are intended for developers only.
> +
> + * `make test` to build and run the unit tests
> + * `make valgrind-test` to run the unit tests under valgrind
> + * `make abi` to create an XML representation of the ABI of the libraries in
> +   the `abi/` subdirectory
> + * `make abi-test` to compare the ABI of a different multipath-tools version,
> +   which must be stored in the `reference-abi/` subdirectory. If this test
> +   fails, the ABI has changed wrt the reference.
> + * `make compile-commands.json` to create input for [clangd](https://clangd.llvm.org/).
> +
> +
>  Add storage devices
>  ===================
>  
> -- 
> 2.34.1

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel
diff mbox series

Patch

diff --git a/README.md b/README.md
index b15c265..1547862 100644
--- a/README.md
+++ b/README.md
@@ -52,6 +52,62 @@  To get latest devel code:
 Github page: https://github.com/opensvc/multipath-tools
 
 
+Building multipath-tools
+========================
+
+Prerequisites: development packages of for `libdevmapper`, `libreadline`,
+`libaio`, `libudev`, `libjson-c`, `liburcu`, and `libsystemd`.
+
+To build multipath-tools, type:
+
+    make
+	make DESTDIR="/my/target/dir" install
+
+To uninstall, type:
+
+    make uninstall
+
+Customizing the build
+---------------------
+
+The following variables can be passed to the `make` command line:
+
+ * `ENABLE_LIBDMMP=0`: disable building libdmmp
+ * `ENABLE_DMEVENTS_POLL=0`: disable support for the device-mapper event
+   polling API. For use with pre-5.0 kernels that don't supprt dmevent polling
+   (but even if you don't use this option, multipath-tools will work with
+   these kernels).
+ * `SCSI_DH_MODULES_PRELOAD="(list)"`: specify a space-separated list of SCSI
+   device handler kernel modules to load early during boot. Some
+   multipath-tools functionality depends on these modules being loaded
+   early. This option causes a *modules-load.d(5)* configuration file to be
+   created, thus it depends on functionality provided by *systemd*.
+   This variable only matters for `make install`.
+
+Note: The usefulness of the preload list depends on the kernel configuration.
+It's especially useful if `scsi_mod` is builtin but `scsi_dh_alua` and
+other device handler modules are built as modules. If `scsi_mod` itself is compiled
+as a module, it might make more sense to use a module softdep for the same
+purpose.
+
+See `Makefile.inc` for additional variables to customize paths and compiler
+flags.
+
+Special Makefile targets
+------------------------
+
+The following targets are intended for developers only.
+
+ * `make test` to build and run the unit tests
+ * `make valgrind-test` to run the unit tests under valgrind
+ * `make abi` to create an XML representation of the ABI of the libraries in
+   the `abi/` subdirectory
+ * `make abi-test` to compare the ABI of a different multipath-tools version,
+   which must be stored in the `reference-abi/` subdirectory. If this test
+   fails, the ABI has changed wrt the reference.
+ * `make compile-commands.json` to create input for [clangd](https://clangd.llvm.org/).
+
+
 Add storage devices
 ===================