Lines Matching defs:mddev
52 struct mddev *mddev; /* RAID array if running */ member
309 struct mddev { struct
310 void *private;
311 struct md_personality *pers;
312 dev_t unit;
313 int md_minor;
314 struct list_head disks;
315 unsigned long flags;
316 unsigned long sb_flags;
318 int suspended;
319 struct percpu_ref active_io;
320 int ro;
321 int sysfs_active; /* set when sysfs deletes
325 struct gendisk *gendisk;
327 struct kobject kobj;
328 int hold_active;
333 int major_version,
334 minor_version,
335 patch_version;
336 int persistent;
337 int external; /* metadata is
339 char metadata_type[17]; /* externally set*/
340 int chunk_sectors;
341 time64_t ctime, utime;
342 int level, layout;
343 char clevel[16];
344 int raid_disks;
345 int max_disks;
346 sector_t dev_sectors; /* used size of
348 sector_t array_sectors; /* exported array size */
349 int external_size; /* size managed
351 __u64 events;
357 int can_decrease_events;
359 char uuid[16];
366 sector_t reshape_position;
367 int delta_disks, new_level, new_layout;
368 int new_chunk_sectors;
369 int reshape_backwards;
371 struct md_thread __rcu *thread; /* management thread */
372 struct md_thread __rcu *sync_thread; /* doing resync or reconstruct */
380 char *last_sync_action;
381 sector_t curr_resync; /* last block scheduled */
388 sector_t curr_resync_completed;
389 unsigned long resync_mark; /* a recent timestamp */
390 sector_t resync_mark_cnt;/* blocks written at resync_mark */
391 sector_t curr_mark_cnt; /* blocks scheduled now */
393 sector_t resync_max_sectors; /* may be set by personality */
395 atomic64_t resync_mismatches; /* count of sectors where
400 sector_t suspend_lo;
401 sector_t suspend_hi;
403 int sync_speed_min;
404 int sync_speed_max;
407 int parallel_resync;
409 int ok_start_degraded;
411 unsigned long recovery;
417 int recovery_disabled;
419 int in_sync; /* know to not need resync */
429 struct mutex open_mutex;
430 struct mutex reconfig_mutex;
431 atomic_t active; /* general refcount */
432 atomic_t openers; /* number of active opens */
434 int changed; /* True if we might need to
436 int degraded; /* whether md should consider
440 atomic_t recovery_active; /* blocks scheduled, but not written */
441 wait_queue_head_t recovery_wait;
442 sector_t recovery_cp;
443 sector_t resync_min; /* user requested sync
445 sector_t resync_max; /* resync should pause
448 struct kernfs_node *sysfs_state; /* handle for 'array_state'
451 struct kernfs_node *sysfs_action; /* handle for 'sync_action' */
452 struct kernfs_node *sysfs_completed; /*handle for 'sync_completed' */
453 struct kernfs_node *sysfs_degraded; /*handle for 'degraded' */
454 struct kernfs_node *sysfs_level; /*handle for 'level' */
456 struct work_struct del_work; /* used for delayed sysfs removal */
469 spinlock_t lock;
470 wait_queue_head_t sb_wait; /* for waiting on superblock updates */
471 atomic_t pending_writes; /* number of active superblock writes */
473 unsigned int safemode; /* if set, update "clean" superblock
476 unsigned int safemode_delay;
477 struct timer_list safemode_timer;
478 struct percpu_ref writes_pending;
479 int sync_checkers; /* # of threads checking writes_pending */
480 struct request_queue *queue; /* for plugging ... */
482 struct bitmap *bitmap; /* the bitmap for the device */
483 struct {
508 struct list_head all_mddevs; argument
530 void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev); argument
531 struct md_cluster_info *cluster_info;
532 unsigned int good_device_nr; /* good device num within cluster raid */
533 unsigned int noio_flag; /* for memalloc scope API */
539 struct list_head deleting;
542 struct mutex sync_mutex;
544 atomic_t sync_seq;
546 bool has_superblocks:1;
547 bool fail_last_dev:1;
548 bool serialize_policy:1;
577 static inline bool md_is_rdwr(struct mddev *mddev) in md_is_rdwr()
582 static inline bool is_md_suspended(struct mddev *mddev) in is_md_suspended()
587 static inline int __must_check mddev_lock(struct mddev *mddev) in mddev_lock()
595 static inline void mddev_lock_nointr(struct mddev *mddev) in mddev_lock_nointr()
600 static inline int mddev_trylock(struct mddev *mddev) in mddev_trylock()
685 static inline char * mdname (struct mddev * mddev) in mdname()
690 static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_link_rdev()
702 static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_unlink_rdev()
723 #define rdev_for_each(rdev, mddev) \ argument
726 #define rdev_for_each_safe(rdev, tmp, mddev) \ argument
729 #define rdev_for_each_rcu(rdev, mddev) \ argument
734 struct mddev *mddev; member
743 struct mddev *mddev; member
826 static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev) in rdev_dec_pending()
836 static inline int mddev_is_clustered(struct mddev *mddev) in mddev_is_clustered()
842 static inline void mddev_clear_unsupported_flags(struct mddev *mddev, in mddev_clear_unsupported_flags()
848 static inline void mddev_check_write_zeroes(struct mddev *mddev, struct bio *bio) in mddev_check_write_zeroes()