Lines Matching refs:raid
20 #define DM_MSG_PREFIX "raid"
21 #define MAX_RAID_DEVICES 253 /* md-raid kernel limit */
24 * Minimum sectors of free reshape space per raid device
36 * The following flags are used by dm-raid to set up the array state.
112 * per raid level.
137 /* Valid options definitions per raid level... */
197 /* ...valid options definitions per raid level */
205 * the raid set all over again.
221 * raid set level, layout and chunk sectors backup/restore
284 /* Supported raid types and properties. */
361 /* Define correlation of raid456 journal cache modes and dm-raid target line parameters */
382 /* Return dm-raid raid4/5/6 journal mode string for @mode */
395 * Bool helpers to test for various raid levels of a raid set.
399 /* Return true, if raid set in @rs is raid0 */
405 /* Return true, if raid set in @rs is raid1 */
411 /* Return true, if raid set in @rs is raid10 */
417 /* Return true, if raid set in @rs is level 6 */
423 /* Return true, if raid set in @rs is level 4, 5 or 6 */
429 /* Return true, if raid set in @rs is reshapable */
437 /* Return true, if raid set in @rs is recovering */
443 /* Return true, if raid set in @rs is reshaping */
450 * bool helpers to test for various raid levels of a raid type @rt
453 /* Return true, if raid type in @rt is raid0 */
459 /* Return true, if raid type in @rt is raid1 */
465 /* Return true, if raid type in @rt is raid10 */
471 /* Return true, if raid type in @rt is raid4/5 */
477 /* Return true, if raid type in @rt is raid6 */
483 /* Return true, if raid type in @rt is raid4/5/6 */
488 /* END: raid level bools */
490 /* Return valid ctr flags for the raid level of @rs */
748 ti->error = "Cannot allocate raid context";
828 /* Put off the number of raid devices argument to get to dev pairs */
1190 rs->ti->error = "Not enough raid parameters given";
1219 rs->ti->error = "Wrong number of raid parameters given";
1302 rs->ti->error = "Bad numerical argument given in raid params";
1310 * devices on raid level takeover.
1386 /* Define the +/-# of disks to add to/remove from the given raid set */
1391 /* Ensure MAX_RAID_DEVICES and raid type minimal_devs! */
1530 /* Check, if any invalid ctr arguments have been passed in for the raid level */
1544 rs->ti->error = "Inappropriate raid level; cannot change stripe_cache size";
1587 * Retrieve rdev->sectors from any valid raid device of @rs
1688 * Other raid set types may skip recovery
1712 * Conversions of raid sets from one MD personality to another
1721 rs->ti->error = "Can't takeover degraded raid set";
1726 rs->ti->error = "Can't takeover reshaping raid set";
1759 /* Can takeover raid10_near with raid disks divisable by data copies! */
1930 __le32 num_devices; /* Number of devices in this raid set. (Max 64) */
1931 __le32 array_position; /* The position of this drive in the raid set */
1944 * This offset tracks the progress of the initial raid set
1950 * raid characteristics
1965 * This offset tracks the progress of a raid
2003 * Check for reshape constraints on raid set @rs:
2020 rs->ti->error = "Can't reshape degraded raid set";
2022 rs->ti->error = "Convert request on recovering raid set prohibited";
2024 rs->ti->error = "raid set already reshaping!";
2078 * Synchronize the superblock members with the raid set properties
2240 /* Superblock is authoritative wrt given raid set layout! */
2247 /* raid was reshaping and got interrupted */
2250 DMERR("Reshape requested but raid set is still reshaping");
2273 DMERR("Takeover raid sets from %s to %s not yet supported by metadata. (raid level change)",
2276 DMERR("Takeover raid sets not yet supported by metadata. (raid level change)");
2279 DMERR("Reshaping raid sets not yet supported by metadata. (raid layout change keeping level)");
2314 * 1) The raid set is brand new - in which case, all of the
2317 * 2) This is a new device being added to an old raid set
2322 * raid set during takeover to a higher raid level
2324 * to add capacity to grow the raid set.
2346 DMINFO("Superblocks created for new raid set");
2350 DMERR("New device injected into existing raid set without "
2356 " a raid set with %u other first-time devices",
2365 DMERR("'rebuild' specified while raid set is not in-sync (recovery_cp=%llu)",
2369 DMERR("'rebuild' specified while raid set is being reshaped (reshape_position=%llu)",
2410 rs->ti->error = "Cannot change device positions in raid set";
2414 DMINFO("raid device #%d now at position #%d", role, r->raid_disk);
2592 * We need free space at the beginning of each raid disk for forward
2703 * Setup @rs for takeover by a different raid level
2761 * raid disk have to be multiple of data copies to allow this conversion,
2794 rs->ti->error = "Called with bogus raid type";
2808 /* Get reshape sectors from data_offsets or raid set */
2827 * - change raid layout
2972 DMERR("Set dm-raid.devices_handle_discard_safely=Y to override.");
3006 { 0, as.argc, "Cannot understand number of raid parameters" },
3007 { 1, 254, "Cannot understand number of raid devices parameters" }
3026 /* number of raid device tupples <meta_dev data_dev> */
3034 ti->error = "Invalid number of supplied raid devices";
3062 /* Memorize just calculated, potentially larger sizes to grow the raid set in preresume */
3067 * Backup any new raid set level, layout, ...
3105 * to be reshaped or an existing, unchanged raid set to
3120 /* A recovering raid set may be resized */
3125 ti->error = "Can't resize a reshaping raid set";
3132 ti->error = "Can't takeover a reshaping raid set";
3149 * one, prohibit requesting recovery, allow the raid
3165 /* Only request grow on raid set size extensions, not on reshapes. */
3184 * raid set needs to run to provide the repective reshape
3206 * Set raid set to current size, i.e. size as of
3234 /* Start raid set read-only and assumed clean to change in raid_resume() */
3246 ti->error = "Failed to run raid array";
3253 ti->error = "Failed to start raid array";
3294 /* Disable/enable discard support on raid set. */
3330 * data images thus erroring the raid set.
3394 * 'D' = Dead/Failed raid set component or raid4/5/6 journal device
3395 * 'a' = Alive but not in-sync raid set component _or_ alive raid4/5/6 'write_back' journal device
3396 * 'A' = Alive and in-sync raid set component _or_ alive raid4/5/6 'write_through' journal device
3415 /* Helper to return resync/reshape progress for @rs and runtime flags for raid set in sync / resynching */
3454 * If "resync/reshape" is occurring, the raid set
3462 * If "check" or "repair" is occurring, the raid set has
3477 * We are idle and the raid set may be doing an initial
3479 * If all the devices are In_sync, then it is the raid set
3529 /* Get sensible max sectors even if raid set not yet started */
3545 * - Initializing the raid set
3546 * - Rebuilding a subset of devices of the raid set
3551 * changing the raid layout or the number of
3552 * disks of a raid set
3561 * See Documentation/admin-guide/device-mapper/dm-raid.rst for
3571 * performing a "check" of the raid set.
3582 * We keep data_offset equal on all raid disks of the set,
3583 * so retrieving it from the first raid disk is sufficient.
3595 /* Report the table line string you would use to construct this raid set */
3607 /* Calculate raid parameter count based on ^ rebuild/writemostly argument counts and ctr flags set. */
3913 * Reshape changes raid algorithm of @rs to new one within personality
3915 * disks from a raid set thus growing/shrinking it or resizes the set
3989 /* We are extending the raid set size, adjust mddev/md_rdev sizes and set capacity. */
4019 /* Check for any reshape request unless new raid set */
4051 /* Only reduce raid set size before running a disk removing reshape. */
4065 .name = "raid",
4079 module_dm(raid);