diff options
author | Xiao Ni <xni@redhat.com> | 2021-10-27 14:23:13 +0200 |
---|---|---|
committer | Jes Sorensen <jsorensen@fb.com> | 2021-11-02 17:09:17 +0100 |
commit | a35aa68fef246a3eb6bc995cd7af75af420418cc (patch) | |
tree | 63b9a2675d4df1f033cde8da25ced2fab509eefe | |
parent | Fix 2 dc stream buffer (diff) | |
download | mdadm-a35aa68fef246a3eb6bc995cd7af75af420418cc.tar.xz mdadm-a35aa68fef246a3eb6bc995cd7af75af420418cc.zip |
mdadm/lib: Define a new helper function is_dev_alived
The function is used to check if one member disk is alive.
Signed-off-by: Xiao Ni <xni@redhat.com>
Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
-rw-r--r-- | lib.c | 11 | ||||
-rw-r--r-- | mdadm.h | 2 |
2 files changed, 13 insertions, 0 deletions
@@ -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. */ @@ -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); |