summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2017-08-16 13:50:51 -0500
committerDavid Teigland <teigland@redhat.com>2017-10-11 10:48:37 -0500
commitf5062604ee46c943a478097c5968083680ad5020 (patch)
tree56aed9af76caea923551ea7cf234219d9dc1c719
parent6ab316f072a3bb11ed49d3943b92c8a5bb6b741a (diff)
downloadlvm2-f5062604ee46c943a478097c5968083680ad5020.tar.gz
conditional compile with AIO_SUPPORT
-rw-r--r--lib/device/dev-io.c34
-rw-r--r--tools/lvmcmdline.c6
2 files changed, 40 insertions, 0 deletions
diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
index 25f241904..c8743f348 100644
--- a/lib/device/dev-io.c
+++ b/lib/device/dev-io.c
@@ -828,6 +828,8 @@ int dev_set(struct device *dev, uint64_t offset, size_t len, int value)
return (len == 0);
}
+#ifdef AIO_SUPPORT
+
/* io_setup() wrapper */
struct dev_async_context *dev_async_context_setup(unsigned async_event_count)
@@ -961,3 +963,35 @@ int dev_async_getevents(struct dev_async_context *ac, int wait_count, struct tim
return 1;
}
+#else /* AIO_SUPPORT */
+
+struct dev_async_context *dev_async_context_setup(unsigned async_event_count)
+{
+ return NULL;
+}
+
+struct dev_async_io *dev_async_io_alloc(int buf_len)
+{
+ return NULL;
+}
+
+void dev_async_context_destroy(struct dev_async_context *ac)
+{
+}
+
+void dev_async_io_destroy(struct dev_async_io *aio)
+{
+}
+
+int dev_async_read_submit(struct dev_async_context *ac, struct dev_async_io *aio,
+ struct device *dev, uint32_t len, uint64_t offset, int *nospace)
+{
+ return 0;
+}
+
+int dev_async_getevents(struct dev_async_context *ac, int wait_count, struct timespec *timeout)
+{
+ return 0;
+}
+
+#endif /* AIO_SUPPORT */
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 0f00d8bf2..8c2aa730c 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -2386,7 +2386,13 @@ static int _get_current_settings(struct cmd_context *cmd)
!_merge_synonym(cmd, metadatacopies_ARG, vgmetadatacopies_ARG)))
return EINVALID_CMD_LINE;
+#ifdef AIO_SUPPORT
cmd->use_aio = find_config_tree_bool(cmd, metadata_scan_async_CFG, NULL);
+#else
+ cmd->use_aio = 0;
+ if (find_config_tree_bool(cmd, metadata_scan_async_CFG, NULL))
+ log_verbose("No async I/O support, ignoring metadata/scan_async.");
+#endif
/* Zero indicates success */
return 0;