History

md: move most content from md.h to md_k.h

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.

NeilBrown committed 17 years ago

Commit 92022951 parent 8b2b5c23 files · +40 −40Browse files

Unified · Split

3 files
  1. include/linux/raid/md.h +0 −40
  2. include/linux/raid/md_k.h +22 −0
  3. include/linux/raid/md_u.h +18 −0
include/linux/raid/md.h+0−40
@@ -34,46 +34,6 @@ · 33 unmodified lines
3434
3535 #ifdef CONFIG_MD
3636
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−
7737 #endif /* CONFIG_MD */
7838 #endif
7939
include/linux/raid/md_k.h+22−0
@@ -390,3 +390,25 @@ static inline void safe_put_page(struct page *p) · 389 unmodified lines
390390 #endif /* CONFIG_BLOCK */
391391 #endif
392392
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);
include/linux/raid/md_u.h+18−0
@@ -15,6 +15,24 @@ · 14 unmodified lines
1515 #ifndef _MD_U_H
1616 #define _MD_U_H
1717
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+
1836 /* ioctls */
1937
2038 /* status */