Lines Matching defs:mddev

52 	struct mddev *mddev;		/* RAID array if running */  member
296 struct mddev { struct
297 void *private;
298 struct md_personality *pers;
299 dev_t unit;
300 int md_minor;
301 struct list_head disks;
302 unsigned long flags;
303 unsigned long sb_flags;
305 int suspended;
306 struct mutex suspend_mutex;
307 struct percpu_ref active_io;
308 int ro;
309 int sysfs_active; /* set when sysfs deletes
313 struct gendisk *gendisk;
315 struct kobject kobj;
316 int hold_active;
321 int major_version,
322 minor_version,
323 patch_version;
324 int persistent;
325 int external; /* metadata is
327 char metadata_type[17]; /* externally set*/
328 int chunk_sectors;
329 time64_t ctime, utime;
330 int level, layout;
331 char clevel[16];
332 int raid_disks;
333 int max_disks;
334 sector_t dev_sectors; /* used size of
336 sector_t array_sectors; /* exported array size */
337 int external_size; /* size managed
339 __u64 events;
345 int can_decrease_events;
347 char uuid[16];
354 sector_t reshape_position;
355 int delta_disks, new_level, new_layout;
356 int new_chunk_sectors;
357 int reshape_backwards;
359 struct md_thread __rcu *thread; /* management thread */
360 struct md_thread __rcu *sync_thread; /* doing resync or reconstruct */
368 char *last_sync_action;
369 sector_t curr_resync; /* last block scheduled */
376 sector_t curr_resync_completed;
377 unsigned long resync_mark; /* a recent timestamp */
378 sector_t resync_mark_cnt;/* blocks written at resync_mark */
379 sector_t curr_mark_cnt; /* blocks scheduled now */
381 sector_t resync_max_sectors; /* may be set by personality */
383 atomic64_t resync_mismatches; /* count of sectors where
388 sector_t suspend_lo;
389 sector_t suspend_hi;
391 int sync_speed_min;
392 int sync_speed_max;
395 int parallel_resync;
397 int ok_start_degraded;
399 unsigned long recovery;
405 int recovery_disabled;
407 int in_sync; /* know to not need resync */
417 struct mutex open_mutex;
418 struct mutex reconfig_mutex;
419 atomic_t active; /* general refcount */
420 atomic_t openers; /* number of active opens */
422 int changed; /* True if we might need to
424 int degraded; /* whether md should consider
428 atomic_t recovery_active; /* blocks scheduled, but not written */
429 wait_queue_head_t recovery_wait;
430 sector_t recovery_cp;
431 sector_t resync_min; /* user requested sync
433 sector_t resync_max; /* resync should pause
436 struct kernfs_node *sysfs_state; /* handle for 'array_state'
439 struct kernfs_node *sysfs_action; /* handle for 'sync_action' */
440 struct kernfs_node *sysfs_completed; /*handle for 'sync_completed' */
441 struct kernfs_node *sysfs_degraded; /*handle for 'degraded' */
442 struct kernfs_node *sysfs_level; /*handle for 'level' */
445 struct work_struct del_work;
447 struct work_struct sync_work;
460 spinlock_t lock;
461 wait_queue_head_t sb_wait; /* for waiting on superblock updates */
462 atomic_t pending_writes; /* number of active superblock writes */
464 unsigned int safemode; /* if set, update "clean" superblock
467 unsigned int safemode_delay;
468 struct timer_list safemode_timer;
469 struct percpu_ref writes_pending;
470 int sync_checkers; /* # of threads checking writes_pending */
471 struct request_queue *queue; /* for plugging ... */
473 struct bitmap *bitmap; /* the bitmap for the device */
474 struct {
499 struct list_head all_mddevs; argument
521 void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev); argument
522 struct md_cluster_info *cluster_info;
523 unsigned int good_device_nr; /* good device num within cluster raid */
524 unsigned int noio_flag; /* for memalloc scope API */
530 struct list_head deleting;
533 struct mutex sync_mutex;
535 atomic_t sync_seq;
537 bool has_superblocks:1;
561 static inline int __must_check mddev_lock(struct mddev *mddev) in mddev_lock()
569 static inline void mddev_lock_nointr(struct mddev *mddev) in mddev_lock_nointr()
574 static inline int mddev_trylock(struct mddev *mddev) in mddev_trylock()
658 static inline char * mdname (struct mddev * mddev) in mdname()
663 static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_link_rdev()
675 static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_unlink_rdev()
696 #define rdev_for_each(rdev, mddev) \ argument
699 #define rdev_for_each_safe(rdev, tmp, mddev) \ argument
702 #define rdev_for_each_rcu(rdev, mddev) \ argument
707 struct mddev *mddev; member
716 struct mddev *mddev; member
798 static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev) in rdev_dec_pending()
808 static inline int mddev_is_clustered(struct mddev *mddev) in mddev_is_clustered()
814 static inline void mddev_clear_unsupported_flags(struct mddev *mddev, in mddev_clear_unsupported_flags()
820 static inline void mddev_check_write_zeroes(struct mddev *mddev, struct bio *bio) in mddev_check_write_zeroes()
827 static inline int mddev_suspend_and_lock(struct mddev *mddev) in mddev_suspend_and_lock()
842 static inline void mddev_suspend_and_lock_nointr(struct mddev *mddev) in mddev_suspend_and_lock_nointr()
848 static inline void mddev_unlock_and_resume(struct mddev *mddev) in mddev_unlock_and_resume()