summaryrefslogtreecommitdiffstats
path: root/mdadm.h
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-06-26 15:10:48 +1000
committerNeil Brown <neilb@suse.de>2006-06-26 15:10:48 +1000
commit45e878bba6b490bf204db824be71f070689c8737 (patch)
tree195397cfc3d4529edb80412cc7b1d506a8d3f529 /mdadm.h
parent08110d41bc376e0a5724ab54b72a8793d03a79c0 (diff)
downloadmdadm-45e878bba6b490bf204db824be71f070689c8737.tar.gz
mdadm-45e878bba6b490bf204db824be71f070689c8737.tar.xz
mdadm-45e878bba6b490bf204db824be71f070689c8737.zip
Improve ftw handling.
If not 'ftw' is available, still allow openning of devices by dev number. More recent version of uclibc support nftw, so add support to check for that.
Diffstat (limited to 'mdadm.h')
-rw-r--r--mdadm.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/mdadm.h b/mdadm.h
index 9113560..6afdf86 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -343,16 +343,32 @@ extern struct supertype *guess_super(int fd);
struct stat64;
#endif
+#define HAVE_NFTW we assume
+#define HAVE_FTW
+
#ifdef UCLIBC
- struct FTW {};
+# include <features.h>
+# ifndef __UCLIBC_HAS_FTW__
+# undef HAVE_FTW
+# undef HAVE_NFTW
+# endif
+#endif
+
+#ifdef __dietlibc__
+# undef HAVE_NFTW
+#endif
+
+#ifndef HAVE_NFTW
# define FTW_PHYS 1
-#else
-# include <ftw.h>
-# ifdef __dietlibc__
-# define FTW_PHYS 1
+# ifndef HAVE_FTW
+ struct FTW {};
# endif
#endif
+#ifdef HAVE_FTW
+# include <ftw.h>
+#endif
+
extern int add_dev(const char *name, const struct stat *stb, int flag, struct FTW *s);