The extern function definitions are kernel-internal definitions, so they belong in md_k.h The MD_*_VERSION values could reasonably go in a number of places, but md_u.h seems most reasonable. This leaves almost nothing in md.h. It will go soon.
Showing the changes to include/linux/raid (3 of 3 files). Show all
Unified · Split
| @@ -34,46 +34,6 @@ · 33 unmodified lines | ||
| 34 | 34 | |
| 35 | 35 | #ifdef CONFIG_MD |
| 36 | 36 | |
| 37 | −/* | |
| 38 | − * Different major versions are not compatible. | |
| 39 | − * Different minor versions are only downward compatible. | |
| 40 | − * Different patchlevel versions are downward and upward compatible. | |
| 41 | − */ | |
| 42 | −#define MD_MAJOR_VERSION 0 | |
| 43 | −#define MD_MINOR_VERSION 90 | |
| 44 | −/* | |
| 45 | − * MD_PATCHLEVEL_VERSION indicates kernel functionality. | |
| 46 | − * >=1 means different superblock formats are selectable using SET_ARRAY_INFO | |
| 47 | − * and major_version/minor_version accordingly | |
| 48 | − * >=2 means that Internal bitmaps are supported by setting MD_SB_BITMAP_PRESENT | |
| 49 | − * in the super status byte | |
| 50 | − * >=3 means that bitmap superblock version 4 is supported, which uses | |
| 51 | − * little-ending representation rather than host-endian | |
| 52 | − */ | |
| 53 | −#define MD_PATCHLEVEL_VERSION 3 | |
| 54 | − | |
| 55 | −extern int register_md_personality(struct mdk_personality *p); | |
| 56 | −extern int unregister_md_personality(struct mdk_personality *p); | |
| 57 | −extern mdk_thread_t * md_register_thread(void (*run) (mddev_t *mddev), | |
| 58 | − mddev_t *mddev, const char *name); | |
| 59 | −extern void md_unregister_thread(mdk_thread_t *thread); | |
| 60 | −extern void md_wakeup_thread(mdk_thread_t *thread); | |
| 61 | −extern void md_check_recovery(mddev_t *mddev); | |
| 62 | −extern void md_write_start(mddev_t *mddev, struct bio *bi); | |
| 63 | −extern void md_write_end(mddev_t *mddev); | |
| 64 | −extern void md_done_sync(mddev_t *mddev, int blocks, int ok); | |
| 65 | −extern void md_error(mddev_t *mddev, mdk_rdev_t *rdev); | |
| 66 | − | |
| 67 | −extern void md_super_write(mddev_t *mddev, mdk_rdev_t *rdev, | |
| 68 | − sector_t sector, int size, struct page *page); | |
| 69 | −extern void md_super_wait(mddev_t *mddev); | |
| 70 | −extern int sync_page_io(struct block_device *bdev, sector_t sector, int size, | |
| 71 | − struct page *page, int rw); | |
| 72 | −extern void md_do_sync(mddev_t *mddev); | |
| 73 | −extern void md_new_event(mddev_t *mddev); | |
| 74 | −extern int md_allow_write(mddev_t *mddev); | |
| 75 | −extern void md_wait_for_blocked_rdev(mdk_rdev_t *rdev, mddev_t *mddev); | |
| 76 | − | |
| 77 | 37 | #endif /* CONFIG_MD */ |
| 78 | 38 | #endif |
| 79 | 39 | |
| @@ -390,3 +390,25 @@ static inline void safe_put_page(struct page *p) · 389 unmodified lines | ||
| 390 | 390 | #endif /* CONFIG_BLOCK */ |
| 391 | 391 | #endif |
| 392 | 392 | |
| 393 | + | |
| 394 | +extern int register_md_personality(struct mdk_personality *p); | |
| 395 | +extern int unregister_md_personality(struct mdk_personality *p); | |
| 396 | +extern mdk_thread_t * md_register_thread(void (*run) (mddev_t *mddev), | |
| 397 | + mddev_t *mddev, const char *name); | |
| 398 | +extern void md_unregister_thread(mdk_thread_t *thread); | |
| 399 | +extern void md_wakeup_thread(mdk_thread_t *thread); | |
| 400 | +extern void md_check_recovery(mddev_t *mddev); | |
| 401 | +extern void md_write_start(mddev_t *mddev, struct bio *bi); | |
| 402 | +extern void md_write_end(mddev_t *mddev); | |
| 403 | +extern void md_done_sync(mddev_t *mddev, int blocks, int ok); | |
| 404 | +extern void md_error(mddev_t *mddev, mdk_rdev_t *rdev); | |
| 405 | + | |
| 406 | +extern void md_super_write(mddev_t *mddev, mdk_rdev_t *rdev, | |
| 407 | + sector_t sector, int size, struct page *page); | |
| 408 | +extern void md_super_wait(mddev_t *mddev); | |
| 409 | +extern int sync_page_io(struct block_device *bdev, sector_t sector, int size, | |
| 410 | + struct page *page, int rw); | |
| 411 | +extern void md_do_sync(mddev_t *mddev); | |
| 412 | +extern void md_new_event(mddev_t *mddev); | |
| 413 | +extern int md_allow_write(mddev_t *mddev); | |
| 414 | +extern void md_wait_for_blocked_rdev(mdk_rdev_t *rdev, mddev_t *mddev); | |
| @@ -15,6 +15,24 @@ · 14 unmodified lines | ||
| 15 | 15 | #ifndef _MD_U_H |
| 16 | 16 | #define _MD_U_H |
| 17 | 17 | |
| 18 | +/* | |
| 19 | + * Different major versions are not compatible. | |
| 20 | + * Different minor versions are only downward compatible. | |
| 21 | + * Different patchlevel versions are downward and upward compatible. | |
| 22 | + */ | |
| 23 | +#define MD_MAJOR_VERSION 0 | |
| 24 | +#define MD_MINOR_VERSION 90 | |
| 25 | +/* | |
| 26 | + * MD_PATCHLEVEL_VERSION indicates kernel functionality. | |
| 27 | + * >=1 means different superblock formats are selectable using SET_ARRAY_INFO | |
| 28 | + * and major_version/minor_version accordingly | |
| 29 | + * >=2 means that Internal bitmaps are supported by setting MD_SB_BITMAP_PRESENT | |
| 30 | + * in the super status byte | |
| 31 | + * >=3 means that bitmap superblock version 4 is supported, which uses | |
| 32 | + * little-ending representation rather than host-endian | |
| 33 | + */ | |
| 34 | +#define MD_PATCHLEVEL_VERSION 3 | |
| 35 | + | |
| 18 | 36 | /* ioctls */ |
| 19 | 37 | |
| 20 | 38 | /* status */ |