summaryrefslogtreecommitdiff
path: root/drivers/md/md.h
diff options
context:
space:
mode:
authorShaohua Li <shli@fb.com>2016-07-28 09:34:14 -0700
committerShaohua Li <shli@fb.com>2016-07-28 09:34:14 -0700
commit3f35e210ed4617a68b6baa9b7ac6c72bf7e313d9 (patch)
tree2cce851a454be4deea141593c3db62001ab65108 /drivers/md/md.h
parent194dc870a5890e855ecffb30f3b80ba7c88f96d6 (diff)
parent5d8817833c7609c24da9a92f71c53caa9c1424eb (diff)
Merge branch 'mymd/for-next' into mymd/for-linus
Diffstat (limited to 'drivers/md/md.h')
-rw-r--r--drivers/md/md.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/md/md.h b/drivers/md/md.h
index b4f335245bd6..20c667579ede 100644
--- a/drivers/md/md.h
+++ b/drivers/md/md.h
@@ -99,7 +99,7 @@ struct md_rdev {
atomic_t read_errors; /* number of consecutive read errors that
* we have tried to ignore.
*/
- struct timespec last_read_error; /* monotonic time since our
+ time64_t last_read_error; /* monotonic time since our
* last read error
*/
atomic_t corrected_errors; /* number of corrected read errors,
@@ -163,6 +163,11 @@ enum flag_bits {
* than other devices in the array
*/
ClusterRemove,
+ RemoveSynchronized, /* synchronize_rcu() was called after
+ * this device was known to be faulty,
+ * so it is safe to remove without
+ * another synchronize_rcu() call.
+ */
};
static inline int is_badblock(struct md_rdev *rdev, sector_t s, int sectors,
@@ -204,6 +209,9 @@ struct mddev {
#define MD_RELOAD_SB 7 /* Reload the superblock because another node
* updated it.
*/
+#define MD_CLUSTER_RESYNC_LOCKED 8 /* cluster raid only, which means node
+ * already took resync lock, need to
+ * release the lock */
int suspended;
atomic_t active_io;