diff options
| author | Neil Brown <neilb@cse.unsw.edu.au> | 2003-03-14 02:08:54 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-03-14 02:08:54 -0800 |
| commit | 8eec7ce0744430471c1fce2a503829cd7cd80f11 (patch) | |
| tree | e9bb6ca5ae6473260ef898ab194437f9692c8869 /include/linux/raid/md.h | |
| parent | 8af848bbe7a7bb0d5dd62d2c4d6f295755436148 (diff) | |
[PATCH] md: Remove md_recoveryd thread for md
The md_recoveryd thread is responsible for initiating and cleaning
up resync threads.
This job can be equally well done by the per-array threads
for those arrays which might need it.
So the mdrecoveryd thread is gone and the core code that
it ran is now run by raid5d, raid1d or multipathd.
We add an MD_RECOVERY_NEEDED flag so those daemon don't have
to bother trying to lock the md array unless it is likely
that something needs to be done.
Also modify the names of all threads to have the number of
md device.
Diffstat (limited to 'include/linux/raid/md.h')
| -rw-r--r-- | include/linux/raid/md.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/raid/md.h b/include/linux/raid/md.h index 3260343d634e..3d4faa9f7171 100644 --- a/include/linux/raid/md.h +++ b/include/linux/raid/md.h @@ -69,13 +69,14 @@ extern inline char * bdev_partition_name (struct block_device *bdev) } extern int register_md_personality (int p_num, mdk_personality_t *p); extern int unregister_md_personality (int p_num); -extern mdk_thread_t * md_register_thread (void (*run) (void *data), - void *data, const char *name); +extern mdk_thread_t * md_register_thread (void (*run) (mddev_t *mddev), + mddev_t *mddev, const char *name); extern void md_unregister_thread (mdk_thread_t *thread); extern void md_wakeup_thread(mdk_thread_t *thread); +extern void md_check_recovery(mddev_t *mddev); extern void md_interrupt_thread (mdk_thread_t *thread); extern void md_write_start(mddev_t *mddev); -extern void md_write_end(mddev_t *mddev, mdk_thread_t *thread); +extern void md_write_end(mddev_t *mddev); extern void md_handle_safemode(mddev_t *mddev); extern void md_done_sync(mddev_t *mddev, int blocks, int ok); extern void md_sync_acct(mdk_rdev_t *rdev, unsigned long nr_sectors); |
