Dan Williams
272f648fb0
imsm: write anchor last
...
Ensure that newly written anchors reflect a consistent metadata block.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-16 15:36:41 -07:00
Dan Williams
551c80c1c1
imsm: implement store_zero_imsm and init_zero_imsm
...
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-16 15:36:40 -07:00
Dan Williams
4a04ec6ca1
imsm: ->getinfo_super set raid_disk to disk.number
...
A spare device by definition will have raid_disk set to -1, but when
assembling the container we want this disk to by included.
Fixes a SIGSEGV when doing:
mdadm -A /dev/imsm -e imsm /dev/sd[b-e]
...where /dev/sde is marked as a global spare device
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-16 15:36:40 -07:00
Dan Williams
c2c087e631
imsm: add 'Create' support
...
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-16 15:36:38 -07:00
Dan Williams
8b35327854
imsm: 'volume' is the proper name for imsm container members
...
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:42:09 -07:00
Dan Williams
f4d11639d1
imsm: ->container_dev needs to be set in load_super_imsm_all
...
It is used later by container_content_imsm to determine set the
text_version of the member arrays.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:42:09 -07:00
Dan Williams
87eb16dfa9
imsm: add 'mpb_size' to --examine output
...
Break out sector_count() for use elsewhere.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:42:09 -07:00
Dan Williams
f1665f7200
sysfs: helper routine to retrieve the scsi id
...
imsm records this information in its metadata
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:27:30 -07:00
Dan Williams
90c8b70714
sysfs: provide a helper function for locating scsi_generic interfaces
...
imsm records and validates this data in its metadata
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:27:30 -07:00
Dan Williams
c42ec1ed43
ddf: fix up validate_geometry to ignore other containers
...
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:27:30 -07:00
Dan Williams
1ba6bff902
ddf: fix 'ddf' pointer corruption
...
hostname[17] = 0 overwrites the last byte of the ddf pointer
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:27:30 -07:00
Dan Williams
56aca704a5
ddf: convert size paramter to sectors when calling avail_size_ddf
...
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-06-13 17:27:30 -07:00
Neil Brown
94f8ae072f
A kernel patch needed to add a spare to an active external-metadata array
2008-06-12 12:06:14 +10:00
Neil Brown
7e1432fb14
Add DDF code for activate_spare
...
Plus various bug fixes etc.
2008-06-12 10:13:32 +10:00
Neil Brown
6c3fb95c44
Support adding a spare to a degraded array.
...
When signalled by the monitor, the manager will find spares and
add them to the array and initiate a recovery.
2008-06-12 10:13:29 +10:00
Neil Brown
57632f4afb
Some fixes to make failures in ddf get handled properly.
2008-06-12 10:13:28 +10:00
Neil Brown
80d26cb2fd
Correctly set resync_start when creating an array.
2008-06-12 10:13:26 +10:00
Neil Brown
5575e7d962
DDF: Update array state and disk state properly when adding to a BVD
2008-06-12 10:13:25 +10:00
Neil Brown
88c164f42b
super method for updating ddf metadata.
2008-06-12 10:13:24 +10:00
Neil Brown
2e735d1982
Allow passing metadata update to the monitor.
...
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.
2008-06-12 10:13:23 +10:00
Neil Brown
b228067720
Store and recover spare_assign info in DDF.
2008-06-12 10:13:22 +10:00
Neil Brown
8c3b8c2c11
Add mppe and conf_rec_len to struct super_ddf
...
Rather than having to pull them from inside structures and
be_to_cpu them all the time.
2008-06-12 10:13:20 +10:00
Neil Brown
3cb07116bb
Don't ignore errors in sysfs_add_disk.
...
i.e. if the add fails, don't add the device to the internal data
structures.
2008-06-12 10:13:19 +10:00
Neil Brown
866d136a2f
Release 2.6.7
2008-06-06 16:07:11 +10:00
Neil Brown
3d2b16e77c
Avoid NULL reference calling free_super and elsewhere.
...
Since we made free_super a superswitch call, we need to be careful
that st is non NULL before calling st->ss->free_super(st).
Also when updating byteorder there is a chance of a similar NULL
deref.
2008-05-27 17:23:16 +10:00
Neil Brown
fe2979bd16
Remove stray semicolon
...
Causes compile error with gcc-2.95
2008-05-27 17:23:09 +10:00
Neil Brown
60f18132be
Fix some stuff.
2008-05-27 09:18:58 +10:00
Neil Brown
cba0191bad
Parse the 'instance' part of external:/mdXX/INST in metadata handler.
...
This give more flexability.
2008-05-27 09:18:57 +10:00
Neil Brown
dd15dc4a4d
Discard st->container_member
...
'container_member' isn't really a well defined concept.
Each metadata might enumerate members differently, so just
let each format /mdX/YYYY as appropriate.
2008-05-27 09:18:56 +10:00
Neil Brown
159c3a1a77
Remove st->text_version in favour of info->text_version
...
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.
2008-05-27 09:18:55 +10:00
Neil Brown
ed9d66aade
Change mark_clean to set_array_state.
...
DDF needs more fine grained understanding of the array state.
2008-05-27 09:18:54 +10:00
Neil Brown
77402e5105
Discard get_sync_pos. We should be using get_resync_start.
...
"sync_complete" just tracks the current resync/recover/check/whatever pass.
"resync_start" tracks which parts of the array are known to be in-sync
(modulo active writes). So it is what we need to use to update the metadata.
Also we cannot call it when the array has stopped, as the value is no longer
available then. We must call it when the resync completes.
Possibly also call it preiodically if the array is quiescent.
2008-05-27 09:18:53 +10:00
Neil Brown
75aa18b53c
Start mdmon during incremental assembly of container
2008-05-27 09:18:52 +10:00
Neil Brown
25dbe93ab4
allow --incremental to reuse devices that already exist
...
.. and other fixes.
2008-05-27 09:18:43 +10:00
Neil Brown
a931db9ed7
auto-start mdmon on --create
...
FIXME uses sill hardcoded path.
Need --assemble too.
2008-05-27 09:18:42 +10:00
Neil Brown
e0d6609fe6
Exit when there are no more arrays to manage.
2008-05-27 09:18:41 +10:00
Neil Brown
5869a76c90
Remove supertype->devfd
...
It is never used.
2008-05-27 09:18:40 +10:00
Neil Brown
1ed3f38758
Remove stopped arrays.
...
When an array becomes inactive, clean up and forget it.
This involves signalling the manager.
2008-05-27 09:18:39 +10:00
Neil Brown
7a7cc50430
Set status of devices in ddf.
...
Might work a little bit....
2008-05-27 09:18:38 +10:00
Neil Brown
4e5528c6f7
Implement mark_clean for ddf and remove mark_dirty and mark_sync
...
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.
2008-05-27 09:18:38 +10:00
Neil Brown
d52690acc4
Initialise newly allocated active_array better.
...
Just set it all to zeros. ->devs in particular needs to be 0.
2008-05-27 09:18:37 +10:00
Neil Brown
5d19760db0
Discard 'array_list' in mdmon
...
The container has an ->arrays field that we should be using.
2008-05-27 09:18:36 +10:00
Neil Brown
ea6d09b063
'errno' is a positive number, not negative.
...
I've been living in the kernel too long ;-)
2008-05-27 09:18:35 +10:00
Neil Brown
355726fa01
Remember to close directories when we are finished with them.
2008-05-27 09:18:34 +10:00
Neil Brown
8c21018330
Alway use a unique file name for opendev
...
Else mdadm and mdmon running in parallel can tread on each other.
2008-05-27 09:18:33 +10:00
Neil Brown
2318b9f0dc
Remove 'fd' arg from sysfs_add_disk
...
It it never used, and removing means there are several 'open's that can
go.
2008-05-27 09:18:32 +10:00
Neil Brown
30e1b9a585
Remove stray semicolon
...
Causes compile error with gcc-2.95
2008-05-27 09:18:31 +10:00
Neil Brown
1c203a4b5a
Fix autoassemble for stack arrays.
...
If you have stacked arrays, then
mdadm -As --homehost=fred
should work but doesn't. It gets into an infinite loop!
So write some tests, and fix the bugs.
2008-05-20 16:28:48 +10:00
Neil Brown
df5a0b9295
Release 2.6.6
2008-05-19 12:07:54 +10:00
David Greaves
75f743774f
Remove outdated HOWTO link and credit Jakob's contribution.
...
From: David Greaves <david@dgreaves.com>
Signed-off-by: David Greaves <david@dgreaves.com>
2008-05-19 12:07:50 +10:00