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-18 14:09:12 -0500
commit8003f7d51d124a9dbfac53ce529be4f7c1749ebf (patch)
tree6719fbdfa4142b19485ccd35222fc95bcc9fc2eb
parent2989789433140ba5fe75b1f4d93c3e602289f3dd (diff)
downloadlvm2-8003f7d51d124a9dbfac53ce529be4f7c1749ebf.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 de22af414..a2e329dac 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;