History

md: move the early init autodetect code to drivers/md/

Just like the NFS and CIFS root code this better lives with the driver it is tightly integrated with.

Christoph Hellwig committed 6 years ago

Commit 4f5b2461 parent 881627f6 files · +25 −13Browse files

Unified · Split

6 files
  1. drivers/md/Makefile +3 −0
  2. drivers/md/md-autodetect.c +13 −2
  3. include/linux/raid/detect.h +8 −0
  4. init/Makefile +0 −1
  5. init/do_mounts.c +1 −0
  6. init/do_mounts.h +0 −10
drivers/md/Makefile+3−0
@@ -43,6 +43,9 @@ obj-$(CONFIG_MD_FAULTY) += faulty.o · 42 unmodified lines
43obj-$(CONFIG_MD_CLUSTER) += md-cluster.o43obj-$(CONFIG_MD_CLUSTER) += md-cluster.o
44obj-$(CONFIG_BCACHE) += bcache/44obj-$(CONFIG_BCACHE) += bcache/
45obj-$(CONFIG_BLK_DEV_MD) += md-mod.o45obj-$(CONFIG_BLK_DEV_MD) += md-mod.o
46ifeq ($(CONFIG_BLK_DEV_MD),y)
47obj-y += md-autodetect.o
48endif
46obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o49obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o
47obj-$(CONFIG_BLK_DEV_DM_BUILTIN) += dm-builtin.o50obj-$(CONFIG_BLK_DEV_DM_BUILTIN) += dm-builtin.o
48obj-$(CONFIG_DM_UNSTRIPED) += dm-unstripe.o51obj-$(CONFIG_DM_UNSTRIPED) += dm-unstripe.o
drivers/md/md-autodetect.crenamed from init/do_mounts_md.c+13−2
@@ -1,10 +1,15 @@
1// SPDX-License-Identifier: GPL-2.01// SPDX-License-Identifier: GPL-2.0
2#include <linux/kernel.h>
3#include <linux/blkdev.h>
4#include <linux/init.h>
5#include <linux/syscalls.h>
6#include <linux/mount.h>
7#include <linux/major.h>
2#include <linux/delay.h>8#include <linux/delay.h>
9#include <linux/raid/detect.h>
3#include <linux/raid/md_u.h>10#include <linux/raid/md_u.h>
4#include <linux/raid/md_p.h>11#include <linux/raid/md_p.h>
5 12
6#include "do_mounts.h"
7
8/*13/*
9 * When md (and any require personalities) are compiled into the kernel14 * When md (and any require personalities) are compiled into the kernel
10 * (not a module), arrays can be assembles are boot time using with AUTODETECT15 * (not a module), arrays can be assembles are boot time using with AUTODETECT
@@ -114,6 +119,12 @@ static int __init md_setup(char *str) · 103 unmodified lines
114 return 1;119 return 1;
115}120}
116 121
122static inline int create_dev(char *name, dev_t dev)
123{
124 ksys_unlink(name);
125 return ksys_mknod(name, S_IFBLK|0600, new_encode_dev(dev));
126}
127
117static void __init md_setup_drive(void)128static void __init md_setup_drive(void)
118{129{
119 int minor, i, ent, partitioned;130 int minor, i, ent, partitioned;
include/linux/raid/detect.h+8−0
@@ -1,3 +1,11 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 */
2 2
3void md_autodetect_dev(dev_t dev);3void md_autodetect_dev(dev_t dev);
4
5#ifdef CONFIG_BLK_DEV_MD
6void md_run_setup(void);
7#else
8static inline void md_run_setup(void)
9{
10}
11#endif
init/Makefile+0−1
@@ -18,7 +18,6 @@ obj-y += init_task.o · 17 unmodified lines
18mounts-y := do_mounts.o18mounts-y := do_mounts.o
19mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o19mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o
20mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o20mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o
21mounts-$(CONFIG_BLK_DEV_MD) += do_mounts_md.o
22 21
23# dependencies on generated files need to be listed explicitly22# dependencies on generated files need to be listed explicitly
24$(obj)/version.o: include/generated/compile.h23$(obj)/version.o: include/generated/compile.h
init/do_mounts.c+1−0
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include <linux/nfs_fs.h>23#include <linux/nfs_fs.h>
24#include <linux/nfs_fs_sb.h>24#include <linux/nfs_fs_sb.h>
25#include <linux/nfs_mount.h>25#include <linux/nfs_mount.h>
26#include <linux/raid/detect.h>
26#include <uapi/linux/mount.h>27#include <uapi/linux/mount.h>
27 28
28#include "do_mounts.h"29#include "do_mounts.h"
init/do_mounts.h+0−10
@@ -41,13 +41,3 @@ bool __init initrd_load(void); · 40 unmodified lines
41static inline bool initrd_load(void) { return false; }41static inline bool initrd_load(void) { return false; }
42 42
43#endif43#endif
44
45#ifdef CONFIG_BLK_DEV_MD
46
47void md_run_setup(void);
48
49#else
50
51static inline void md_run_setup(void) {}
52
53#endif