Lines Matching defs:mddev
45 struct mddev *mddev; /* RAID array if running */ member
220 struct mddev { struct
221 void *private;
222 struct md_personality *pers;
223 dev_t unit;
224 int md_minor;
225 struct list_head disks;
226 unsigned long flags;
238 int suspended;
239 atomic_t active_io;
240 int ro;
241 int sysfs_active; /* set when sysfs deletes
245 int ready; /* See when safe to pass
247 struct gendisk *gendisk;
249 struct kobject kobj;
250 int hold_active;
255 int major_version,
256 minor_version,
257 patch_version;
258 int persistent;
259 int external; /* metadata is
261 char metadata_type[17]; /* externally set*/
262 int chunk_sectors;
263 time_t ctime, utime;
264 int level, layout;
265 char clevel[16];
266 int raid_disks;
267 int max_disks;
268 sector_t dev_sectors; /* used size of
270 sector_t array_sectors; /* exported array size */
271 int external_size; /* size managed
273 __u64 events;
279 int can_decrease_events;
281 char uuid[16];
288 sector_t reshape_position;
289 int delta_disks, new_level, new_layout;
290 int new_chunk_sectors;
291 int reshape_backwards;
293 struct md_thread *thread; /* management thread */
294 struct md_thread *sync_thread; /* doing resync or reconstruct */
302 char *last_sync_action;
303 sector_t curr_resync; /* last block scheduled */
310 sector_t curr_resync_completed;
311 unsigned long resync_mark; /* a recent timestamp */
312 sector_t resync_mark_cnt;/* blocks written at resync_mark */
313 sector_t curr_mark_cnt; /* blocks scheduled now */
315 sector_t resync_max_sectors; /* may be set by personality */
317 atomic64_t resync_mismatches; /* count of sectors where
322 sector_t suspend_lo;
323 sector_t suspend_hi;
325 int sync_speed_min;
326 int sync_speed_max;
329 int parallel_resync;
331 int ok_start_degraded;
358 unsigned long recovery;
364 int recovery_disabled;
366 int in_sync; /* know to not need resync */
376 struct mutex open_mutex;
377 struct mutex reconfig_mutex;
378 atomic_t active; /* general refcount */
379 atomic_t openers; /* number of active opens */
381 int changed; /* True if we might need to
383 int degraded; /* whether md should consider
387 atomic_t recovery_active; /* blocks scheduled, but not written */
388 wait_queue_head_t recovery_wait;
389 sector_t recovery_cp;
390 sector_t resync_min; /* user requested sync
392 sector_t resync_max; /* resync should pause
395 struct kernfs_node *sysfs_state; /* handle for 'array_state'
398 struct kernfs_node *sysfs_action; /* handle for 'sync_action' */
400 struct work_struct del_work; /* used for delayed sysfs removal */
413 spinlock_t lock;
414 wait_queue_head_t sb_wait; /* for waiting on superblock updates */
415 atomic_t pending_writes; /* number of active superblock writes */
417 unsigned int safemode; /* if set, update "clean" superblock
420 unsigned int safemode_delay;
421 struct timer_list safemode_timer;
422 atomic_t writes_pending;
423 struct request_queue *queue; /* for plugging ... */
425 struct bitmap *bitmap; /* the bitmap for the device */
426 struct {
451 struct list_head all_mddevs; argument
465 void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev); argument
469 static inline int __must_check mddev_lock(struct mddev *mddev) in mddev_lock()
477 static inline void mddev_lock_nointr(struct mddev *mddev) in mddev_lock_nointr()
482 static inline int mddev_is_locked(struct mddev *mddev) in mddev_is_locked()
487 static inline int mddev_trylock(struct mddev *mddev) in mddev_trylock()
561 static inline char * mdname (struct mddev * mddev) in mdname()
566 static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_link_rdev()
578 static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_unlink_rdev()
599 #define rdev_for_each(rdev, mddev) \ argument
602 #define rdev_for_each_safe(rdev, tmp, mddev) \ argument
605 #define rdev_for_each_rcu(rdev, mddev) \ argument
610 struct mddev *mddev; member
682 static inline int mddev_check_plugged(struct mddev *mddev) in mddev_check_plugged()
688 static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev) in rdev_dec_pending()
698 static inline int mddev_is_clustered(struct mddev *mddev) in mddev_is_clustered()