diff options
Diffstat (limited to 'drivers/md/md.h')
| -rw-r--r-- | drivers/md/md.h | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/md/md.h b/drivers/md/md.h index f385b038589..af443ab868d 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h @@ -282,7 +282,7 @@ struct mddev {  	sector_t			resync_max_sectors; /* may be set by personality */ -	sector_t			resync_mismatches; /* count of sectors where +	atomic64_t			resync_mismatches; /* count of sectors where  							    * parity/replica mismatch found  							    */ @@ -540,12 +540,13 @@ static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev)  	list_for_each_entry_rcu(rdev, &((mddev)->disks), same_set)  struct md_thread { -	void			(*run) (struct mddev *mddev); +	void			(*run) (struct md_thread *thread);  	struct mddev		*mddev;  	wait_queue_head_t	wqueue;  	unsigned long           flags;  	struct task_struct	*tsk;  	unsigned long		timeout; +	void			*private;  };  #define THREAD_WAKEUP  0 @@ -584,7 +585,7 @@ static inline void safe_put_page(struct page *p)  extern int register_md_personality(struct md_personality *p);  extern int unregister_md_personality(struct md_personality *p);  extern struct md_thread *md_register_thread( -	void (*run)(struct mddev *mddev), +	void (*run)(struct md_thread *thread),  	struct mddev *mddev,  	const char *name);  extern void md_unregister_thread(struct md_thread **threadp); @@ -603,7 +604,7 @@ extern void md_super_write(struct mddev *mddev, struct md_rdev *rdev,  extern void md_super_wait(struct mddev *mddev);  extern int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,   			struct page *page, int rw, bool metadata_op); -extern void md_do_sync(struct mddev *mddev); +extern void md_do_sync(struct md_thread *thread);  extern void md_new_event(struct mddev *mddev);  extern int md_allow_write(struct mddev *mddev);  extern void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev);  |