Loading Documentation/md.txt +6 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,12 @@ All md devices contain: simply a number that is interpretted differently by different levels. It can be written while assembling an array. resync_start The point at which resync should start. If no resync is needed, this will be a very large number. At array creation it will default to 0, though starting the array as 'clean' will set it much larger. new_dev This file can be written but not read. The value written should be a block device number as major:minor. e.g. 8:0 Loading drivers/md/md.c +26 −0 Original line number Diff line number Diff line Loading @@ -2235,6 +2235,30 @@ chunk_size_store(mddev_t *mddev, const char *buf, size_t len) static struct md_sysfs_entry md_chunk_size = __ATTR(chunk_size, 0644, chunk_size_show, chunk_size_store); static ssize_t resync_start_show(mddev_t *mddev, char *page) { return sprintf(page, "%llu\n", (unsigned long long)mddev->recovery_cp); } static ssize_t resync_start_store(mddev_t *mddev, const char *buf, size_t len) { /* can only set chunk_size if array is not yet active */ char *e; unsigned long long n = simple_strtoull(buf, &e, 10); if (mddev->pers) return -EBUSY; if (!*buf || (*e && *e != '\n')) return -EINVAL; mddev->recovery_cp = n; return len; } static struct md_sysfs_entry md_resync_start = __ATTR(resync_start, 0644, resync_start_show, resync_start_store); /* * The array state can be: * Loading Loading @@ -2771,6 +2795,7 @@ static struct attribute *md_default_attrs[] = { &md_raid_disks.attr, &md_chunk_size.attr, &md_size.attr, &md_resync_start.attr, &md_metadata.attr, &md_new_device.attr, &md_safe_delay.attr, Loading Loading @@ -3263,6 +3288,7 @@ static int do_md_stop(mddev_t * mddev, int mode) mddev->array_size = 0; mddev->size = 0; mddev->raid_disks = 0; mddev->recovery_cp = 0; disk = mddev->gendisk; if (disk) Loading Loading
Documentation/md.txt +6 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,12 @@ All md devices contain: simply a number that is interpretted differently by different levels. It can be written while assembling an array. resync_start The point at which resync should start. If no resync is needed, this will be a very large number. At array creation it will default to 0, though starting the array as 'clean' will set it much larger. new_dev This file can be written but not read. The value written should be a block device number as major:minor. e.g. 8:0 Loading
drivers/md/md.c +26 −0 Original line number Diff line number Diff line Loading @@ -2235,6 +2235,30 @@ chunk_size_store(mddev_t *mddev, const char *buf, size_t len) static struct md_sysfs_entry md_chunk_size = __ATTR(chunk_size, 0644, chunk_size_show, chunk_size_store); static ssize_t resync_start_show(mddev_t *mddev, char *page) { return sprintf(page, "%llu\n", (unsigned long long)mddev->recovery_cp); } static ssize_t resync_start_store(mddev_t *mddev, const char *buf, size_t len) { /* can only set chunk_size if array is not yet active */ char *e; unsigned long long n = simple_strtoull(buf, &e, 10); if (mddev->pers) return -EBUSY; if (!*buf || (*e && *e != '\n')) return -EINVAL; mddev->recovery_cp = n; return len; } static struct md_sysfs_entry md_resync_start = __ATTR(resync_start, 0644, resync_start_show, resync_start_store); /* * The array state can be: * Loading Loading @@ -2771,6 +2795,7 @@ static struct attribute *md_default_attrs[] = { &md_raid_disks.attr, &md_chunk_size.attr, &md_size.attr, &md_resync_start.attr, &md_metadata.attr, &md_new_device.attr, &md_safe_delay.attr, Loading Loading @@ -3263,6 +3288,7 @@ static int do_md_stop(mddev_t * mddev, int mode) mddev->array_size = 0; mddev->size = 0; mddev->raid_disks = 0; mddev->recovery_cp = 0; disk = mddev->gendisk; if (disk) Loading