[PATCH 1/2] mdadm/lib: Define a new helper function is_dev_alived

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The function is used to check if one member disk is alive.

Signed-off-by: Xiao Ni <xni@xxxxxxxxxx>
Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx>
---
 lib.c   | 11 +++++++++++
 mdadm.h |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/lib.c b/lib.c
index 76d1fbb..7e3e3d4 100644
--- a/lib.c
+++ b/lib.c
@@ -27,6 +27,17 @@
 #include	<ctype.h>
 #include	<limits.h>
 
+bool is_dev_alive(char *path)
+{
+	if (!path)
+		return false;
+
+	if (access(path, R_OK) == 0)
+		return true;
+
+	return false;
+}
+
 /* This fill contains various 'library' style function.  They
  * have no dependency on anything outside this file.
  */
diff --git a/mdadm.h b/mdadm.h
index 53ea0de..4e483bf 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -45,6 +45,7 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
 #include	<errno.h>
 #include	<string.h>
 #include	<syslog.h>
+#include	<stdbool.h>
 /* Newer glibc requires sys/sysmacros.h directly for makedev() */
 #include	<sys/sysmacros.h>
 #ifdef __dietlibc__
@@ -1499,6 +1500,7 @@ extern int check_partitions(int fd, char *dname,
 extern int fstat_is_blkdev(int fd, char *devname, dev_t *rdev);
 extern int stat_is_blkdev(char *devname, dev_t *rdev);
 
+extern bool is_dev_alive(char *path);
 extern int get_mdp_major(void);
 extern int get_maj_min(char *dev, int *major, int *minor);
 extern int dev_open(char *dev, int flags);
-- 
2.7.5




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux