[lvm-devel] master - device: add DEV_OPEN_FAILURE flag
Peter Rajnoha
prajnoha at fedoraproject.org
Mon Mar 21 12:26:18 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=65d9f742f8e45caaa530e1eaf9f18bfd689af6f3
Commit: 65d9f742f8e45caaa530e1eaf9f18bfd689af6f3
Parent: e58d24293f10b6e29825113cadab8aa70099a128
Author: Peter Rajnoha <prajnoha at redhat.com>
AuthorDate: Thu Mar 17 13:45:14 2016 +0100
Committer: Peter Rajnoha <prajnoha at redhat.com>
CommitterDate: Mon Mar 21 11:06:05 2016 +0100
device: add DEV_OPEN_FAILURE flag
DEV_OPEN_FAILURE flag is set if the most recent "open" for a device
failed and it's unset if any subsequent "open" succeeds.
---
lib/device/dev-io.c | 3 +++
lib/device/device.h | 1 +
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
index f8b24bf..9bf6d2e 100644
--- a/lib/device/dev-io.c
+++ b/lib/device/dev-io.c
@@ -513,6 +513,8 @@ int dev_open_flags(struct device *dev, int flags, int direct, int quiet)
log_sys_debug("open", name);
else
log_sys_error("open", name);
+
+ dev->flags |= DEV_OPEN_FAILURE;
return 0;
}
@@ -556,6 +558,7 @@ int dev_open_flags(struct device *dev, int flags, int direct, int quiet)
dev->flags & DEV_OPENED_EXCL ? " O_EXCL" : "",
dev->flags & DEV_O_DIRECT ? " O_DIRECT" : "");
+ dev->flags &= ~DEV_OPEN_FAILURE;
return 1;
}
diff --git a/lib/device/device.h b/lib/device/device.h
index 6b01fb6..fc5a5b9 100644
--- a/lib/device/device.h
+++ b/lib/device/device.h
@@ -27,6 +27,7 @@
#define DEV_OPENED_EXCL 0x00000010 /* Opened EXCL */
#define DEV_O_DIRECT 0x00000020 /* Use O_DIRECT */
#define DEV_O_DIRECT_TESTED 0x00000040 /* DEV_O_DIRECT is reliable */
+#define DEV_OPEN_FAILURE 0x00000080 /* Has last open failed? */
/*
* Support for external device info.
More information about the lvm-devel
mailing list