summaryrefslogtreecommitdiffstats
path: root/managemon.c
Commit message (Collapse)AuthorAgeFilesLines
* Improve shutdown for container-based arrays.Neil Brown2008-07-121-1/+1
| | | | | | | 1/ close a race where multiple arrays disappear at once and monitor isn't woken up to find out that the last one has gone. 2/ "mdadm -Ss" needs to pause briefly for mdmon to exit.
* Create arrays via metadata-updateNeil Brown2008-07-121-4/+18
| | | | | Support creating arrays inside an active ddf container by sending a metadata update over a pipe to mdmon.
* Revise message passing code.Neil Brown2008-07-121-12/+6
| | | | More here
* Remove mgr_pipe for communicating from manage to monitor.Neil Brown2008-07-121-37/+14
| | | | | Data is being passed in shared memory, so the pipe is only being use as a wakeup. This can more easily be done with a thread-signal.
* Remove mon_pipe for communicating from monitor to managerNeil Brown2008-07-121-1/+0
| | | | | | The returned value was never used, and we don't really want this return path anyway as writing to a pipe could conceivably block, and the monitor must not block.
* Handle device removal from containerNeil Brown2008-07-121-8/+0
| | | | | | | This really should be done in mdadm, not mdmon. We ensure the device won't be suddenly commited as a hot-spare using O_EXCL, then check the 'holders' sysfs directory to make sure it is only in use once.
* Fix freeing of updates that have been handled by monitor.Neil Brown2008-07-121-1/+3
| | | | | Yes, we do want to free the buf, and the space too if it is still there.
* mdmon: add debug print statements for profiling mdmonDan Williams2008-06-161-0/+3
| | | | | | | for development only as console output can block leading to monitor deadlocks in low mem situations Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Add DDF code for activate_spareNeil Brown2008-06-121-3/+7
| | | | Plus various bug fixes etc.
* Support adding a spare to a degraded array.Neil Brown2008-06-121-4/+80
| | | | | When signalled by the monitor, the manager will find spares and add them to the array and initiate a recovery.
* Allow passing metadata update to the monitor.Neil Brown2008-06-121-0/+41
| | | | | | 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.
* Parse the 'instance' part of external:/mdXX/INST in metadata handler.Neil Brown2008-05-271-6/+2
| | | | This give more flexability.
* Discard get_sync_pos. We should be using get_resync_start.Neil Brown2008-05-271-3/+1
| | | | | | | | | "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.
* Exit when there are no more arrays to manage.Neil Brown2008-05-271-0/+6
|
* Remove stopped arrays.Neil Brown2008-05-271-9/+36
| | | | | | When an array becomes inactive, clean up and forget it. This involves signalling the manager.
* Initialise newly allocated active_array better.Neil Brown2008-05-271-0/+2
| | | | Just set it all to zeros. ->devs in particular needs to be 0.
* Discard 'array_list' in mdmonNeil Brown2008-05-271-4/+3
| | | | The container has an ->arrays field that we should be using.
* close some memory leaksDan Williams2008-05-151-0/+3
| | | | | | From: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* add infrastructure to receive higher order commands, like remove_deviceDan Williams2008-05-151-8/+40
| | | | | | | | | | | From: Dan Williams <dan.j.williams@intel.com> Each md_message encapsulates a single command. A command includes an 'action' member which describes what if any data comes after the action. Communication with the monitor involves updating the active_cmd pointer and then writing to mgr_pipe. Pass/fail status is returned via mon_pipe. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* start fleshing out socket code, ping monitor to see if it is aliveDan Williams2008-05-151-2/+26
| | | | | | From: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Flag arrays for deletion after they have been stopped.Dan Williams2008-05-151-14/+30
| | | | | | | | | From: Dan Williams <dan.j.williams@intel.com> If they are later reassembled they will be replaced and deallocated via replace_array. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* start resync when transitioning from initial readonly stateDan Williams2008-05-151-0/+1
| | | | | | | | | From: Dan Williams <dan.j.williams@intel.com> mdadm handles setting resync_start, monitor uses this value to determine whether to set the 'active' or 'readauto' state. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Merge mdmonNeil Brown2008-05-151-0/+309