summaryrefslogtreecommitdiffstats
path: root/super-ddf.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove 'major' from superswitch.Neil Brown2008-07-121-4/+0
| | | | It isn't generally meaningful.
* Assorted cleanups to DDFNeil Brown2008-07-121-132/+157
|
* Always zero a struct ddf_super on allocation.Neil Brown2008-07-121-0/+1
|
* Always initialise a struct super_type to zeroNeil Brown2008-07-121-0/+3
|
* Fix freeing of updates that have been handled by monitor.Neil Brown2008-07-121-2/+2
| | | | | Yes, we do want to free the buf, and the space too if it is still there.
* ddf: fix up validate_geometry to ignore other containersDan Williams2008-06-131-3/+3
| | | | Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* ddf: fix 'ddf' pointer corruptionDan Williams2008-06-131-2/+2
| | | | | | hostname[17] = 0 overwrites the last byte of the ddf pointer Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* ddf: convert size paramter to sectors when calling avail_size_ddfDan Williams2008-06-131-1/+1
| | | | Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Add DDF code for activate_spareNeil Brown2008-06-121-2/+231
| | | | Plus various bug fixes etc.
* Some fixes to make failures in ddf get handled properly.Neil Brown2008-06-121-2/+2
|
* Correctly set resync_start when creating an array.Neil Brown2008-06-121-0/+8
|
* DDF: Update array state and disk state properly when adding to a BVDNeil Brown2008-06-121-8/+36
|
* super method for updating ddf metadata.Neil Brown2008-06-121-9/+129
|
* Allow passing metadata update to the monitor.Neil Brown2008-06-121-2/+2
| | | | | | Code in manager can now just call queue_metadata_update with a (freeable) buf holding the update, and it will get passed to the monitor and written out.
* Store and recover spare_assign info in DDF.Neil Brown2008-06-121-8/+24
|
* Add mppe and conf_rec_len to struct super_ddfNeil Brown2008-06-121-30/+24
| | | | | Rather than having to pull them from inside structures and be_to_cpu them all the time.
* Fix some stuff.Neil Brown2008-05-271-3/+9
|
* Parse the 'instance' part of external:/mdXX/INST in metadata handler.Neil Brown2008-05-271-10/+16
| | | | This give more flexability.
* Discard st->container_memberNeil Brown2008-05-271-3/+3
| | | | | | 'container_member' isn't really a well defined concept. Each metadata might enumerate members differently, so just let each format /mdX/YYYY as appropriate.
* Remove st->text_version in favour of info->text_versionNeil Brown2008-05-271-4/+6
| | | | | | | I want the metadata handler to have more control over the 'version', particularly for arrays which are members of containers. So discard st->text_version and instead use info->text_version which getinfo_super can initialise.
* Change mark_clean to set_array_state.Neil Brown2008-05-271-7/+20
| | | | DDF needs more fine grained understanding of the array state.
* Start mdmon during incremental assembly of containerNeil Brown2008-05-271-0/+1
|
* allow --incremental to reuse devices that already existNeil Brown2008-05-271-1/+2
| | | | .. and other fixes.
* Set status of devices in ddf.Neil Brown2008-05-271-20/+171
| | | | Might work a little bit....
* Implement mark_clean for ddf and remove mark_dirty and mark_syncNeil Brown2008-05-271-13/+21
| | | | | | | mark_dirty is just a special case of mark_clean - with sync_pos == 0. mark_sync is not required. We don't modify the metadata when sync finishes. Only when the array becomes non-writeable at which point we use mark_clean to record how far the resync progressed.
* Fix some initialisations...Neil Brown2008-05-151-0/+4
|
* handle disk failuresDan Williams2008-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Dan Williams <dan.j.williams@intel.com> Added curr_state as a parameter to set_disk. Handlers look at this to record components failures, and set global 'degraded' or 'failed' status. When reading the state as faulty: 1/ mark the disk failed in the metadata 2/ write '-blocked' to the rdev state to allow the kernel's failure mechanism to advance 3/ the kernel will take away the drive's role in remove_and_add_spares() 4/ once the disk no longer has a role writing 'remove' to the rdev state will get the disk out of array. There is a window after writing '-blocked' where the kernel will return -EBUSY to remove requests. We rely on the fact that the disk will continue to show faulty so we lazily wait until the kernel is ready to remove the disk. If the manager thread needs to get the disk out of the way it can ping the monitor and wait, just like the replace_array() case. [buglet fix: swap the parameters of attr_match in read_dev_state] Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* keep member disk fd(s) for updatesDan Williams2008-05-151-1/+1
| | | | | | From: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* handle resync completionDan Williams2008-05-151-0/+6
| | | | | | From: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Merge mdmonNeil Brown2008-05-151-1/+38
|
* Set 'metadata_version' for container_member in Incremental_containerDan Williams2008-05-151-0/+1
| | | | | | From: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Create a container memberNeil Brown2008-05-151-1/+4
| | | | From: Neil Brown <neilb@suse.de>
* Can now mostly assemble DDF arraysNeil Brown2008-05-151-8/+168
|
* Start on --assemble support for DDFNeil Brown2008-05-151-2/+38
|
* more ddf stuffNeil Brown2008-05-151-29/+381
| | | | | | Create a BVD in a DDF Do not actually assemble it yet...
* Initial DDF support code.Dan Williams2008-05-151-0/+1987
| | | | | | | | | | | | | | | | | | | | | | | Create a ddf array by naming the device /dev/ddf* or specifying metadata 'ddf'. If ddf is specified with no level, assume a container (indeed, anything else would be wrong). **Need to use text_Version to set external metadata... More ddf support Load a ddf container. Now --examine /dev/ddf works. super-ddf: fix compile warning From: Dan Williams <dan.j.williams@intel.com> super-ddf.c:723: format %lu expects type long unsigned int, but argument 3 has type unsigned int Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Explain the read-balancing algorithm for RAID1 better in md.4Iustin Pop2007-09-111-0/+0
| | | | | | | | | | | From: Iustin Pop <iusty@k1024.org> There are many questions on the mailing list about the RAID1 read performance profile. This patch adds a new paragraph to the RAID1 section in md.4 that details what kind of speed-up one should expect from RAID1. Signed-off-by: Iustin Pop <iusty@k1024.org>
* Fix problem with add a device to a 1.x array created with older mdadm.Neil Brown2007-08-201-0/+0
When adding new disk to an array, don't reserve so much bitmap space that the disk cannot store the required data. (Needed when 1.x array was created with older mdadm).