Lines Matching +full:n +full:- +full:factor
1 // SPDX-License-Identifier: GPL-2.0
41 * Parse the command-line parameters given our kernel, but do not
43 * md_setup_drive after the low-level disk drivers have initialised.
49 * instead of just one. -- KTK
50 * 18May2000: Added support for persistent-superblock arrays:
51 * md=n,0,factor,fault,device-list uses RAID0 for device n
52 * md=n,-1,factor,fault,device-list uses LINEAR for device n
53 * md=n,device-list reads a RAID superblock from the devices
54 * elements in device-list are read by name_to_kdev_t so can be
56 * 2001-06-03: Dave Cinege <dcinege@psychosis.com>
62 int minor, level, factor, fault, partitioned = 0; in md_setup() local
72 printk(KERN_WARNING "md: Too few arguments supplied to md=.\n"); in md_setup()
80 "Replacing previous definition.\n", partitioned?"d":"", minor); in md_setup()
84 printk(KERN_WARNING "md: md=%s%d - too many md initialisations\n", partitioned?"d":"", minor); in md_setup()
90 case 2: /* could be 0 or -1.. */ in md_setup()
92 if (get_option(&str, &factor) != 2 || /* Chunk Size */ in md_setup()
94 printk(KERN_WARNING "md: Too few arguments supplied to md=.\n"); in md_setup()
98 md_setup_args[ent].chunk = 1 << (factor+12); in md_setup()
111 pername="super-block"; in md_setup()
114 printk(KERN_INFO "md: Will configure md%d (%s) from %s, below.\n", in md_setup()
125 char *devname = args->device_names; in md_setup_drive()
132 if (args->partitioned) { in md_setup_drive()
133 mdev = MKDEV(mdp_major, args->minor << MdpMinorShift); in md_setup_drive()
134 sprintf(name, "md_d%d", args->minor); in md_setup_drive()
136 mdev = MKDEV(MD_MAJOR, args->minor); in md_setup_drive()
137 sprintf(name, "md%d", args->minor); in md_setup_drive()
158 pr_warn("md: Unknown device name: %s\n", devname); in md_setup_drive()
170 pr_info("md: Loading %s: %s\n", name, args->device_names); in md_setup_drive()
174 pr_err("md: md_alloc failed - cannot start array %s\n", name); in md_setup_drive()
180 pr_err("md: failed to lock array %s\n", name); in md_setup_drive()
184 if (!list_empty(&mddev->disks) || mddev->raid_disks) { in md_setup_drive()
185 pr_warn("md: Ignoring %s, already autodetected. (Use raid=noautodetect)\n", in md_setup_drive()
190 if (args->level != LEVEL_NONE) { in md_setup_drive()
191 /* non-persistent */ in md_setup_drive()
192 ainfo.level = args->level; in md_setup_drive()
193 ainfo.md_minor = args->minor; in md_setup_drive()
196 ainfo.chunk_size = args->chunk; in md_setup_drive()
209 if (args->level != LEVEL_NONE) { in md_setup_drive()
222 pr_warn("md: starting %s failed\n", name); in md_setup_drive()
240 wlen = (comma-str)-pos; in raid_setup()
241 else wlen = (len-1)-pos; in raid_setup()
265 printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n"); in autodetect_raid()
266 printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n"); in autodetect_raid()
277 printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=autodetect will force)\n"); in md_run_setup()