--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
-@@ -1747,8 +1747,10 @@ struct cmd_context *create_toolcontext(u
+@@ -1785,8 +1785,10 @@ struct cmd_context *create_toolcontext(u
unsigned set_filters)
{
struct cmd_context *cmd;
#ifdef M_MMAP_MAX
mallopt(M_MMAP_MAX, 0);
-@@ -1784,7 +1786,7 @@ struct cmd_context *create_toolcontext(u
+@@ -1822,7 +1824,7 @@ struct cmd_context *create_toolcontext(u
/* FIXME Make this configurable? */
reset_lvm_errno(1);
/* Set in/out stream buffering before glibc */
if (set_buffering) {
/* Allocate 2 buffers */
-@@ -2167,7 +2169,7 @@ void destroy_toolcontext(struct cmd_cont
+@@ -2205,7 +2207,7 @@ void destroy_toolcontext(struct cmd_cont
if (cmd->libmem)
dm_pool_destroy(cmd->libmem);
if (is_valid_fd(STDIN_FILENO) &&
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
-@@ -1744,6 +1744,7 @@ int lvm_split(char *str, int *argc, char
+@@ -1782,6 +1782,7 @@ int lvm_split(char *str, int *argc, char
/* Make sure we have always valid filedescriptors 0,1,2 */
static int _check_standard_fds(void)
{
int err = is_valid_fd(STDERR_FILENO);
if (!is_valid_fd(STDIN_FILENO) &&
-@@ -1770,6 +1771,12 @@ static int _check_standard_fds(void)
+@@ -1808,6 +1809,12 @@ static int _check_standard_fds(void)
strerror(errno));
return 0;
}
--- /dev/null
+From a887fe76be459d32a638d0abde96cc715632c8d5 Mon Sep 17 00:00:00 2001
+From: Daniel Golle <daniel@makrotopia.org>
+Date: Fri, 20 May 2016 06:31:15 +0200
+Subject: [PATCH] device: include goto lable as well
+To: lvm-devel@redhat.com
+
+commit b5314c2a6ae5fe4f802e82a4f31cf2fad398ded9
+device: Retry open without O_NOATIME if it fails.
+
+makes use of goto lable 'opened:' but that might not be defined, e.g.
+on standard C libraries without O_DIRECT_SUPPORT.
+---
+ lib/device/dev-io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
+index a9a2374..4d71967 100644
+--- a/lib/device/dev-io.c
++++ b/lib/device/dev-io.c
+@@ -529,7 +529,7 @@ int dev_open_flags(struct device *dev, int flags, int direct, int quiet)
+ return 0;
+ }
+
+-#ifdef O_DIRECT_SUPPORT
++#if defined(O_DIRECT_SUPPORT) || defined(O_NOATIME)
+ opened:
+ if (direct)
+ dev->flags |= DEV_O_DIRECT_TESTED;
+--
+2.8.2
+