~ubuntu-branches/ubuntu/dapper/mdadm/dapper

« back to all changes in this revision

Viewing changes to {arch}/++pristine-trees/unlocked/mdadm/mdadm--upstream/mdadm--upstream--1.12.0/pkg-mdadm-devel@lists.alioth.debian.org--2005/mdadm--upstream--1.12.0--patch-1/TODO

  • Committer: Package Import Robot
  • Author(s): Fabio M. Di Nitto
  • Date: 2005-11-28 07:35:36 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20051128073536-ph8pstb6ams9huk4
Tags: 1.12.0-1ubuntu1
Resyncronize with Debian.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2004-june-02
 
2
  * Don't print 'errors' flag, it is meaningless. DONE
 
3
  * Handle new superblock format
 
4
  * create device file on demand, particularly partitionable devices. DONE
 
5
      BUT figure a way to create the partition devices.
 
6
              auto=partN
 
7
  * Use Event: interface to listen for events. DONE, untested
 
8
  * Make sure mdadm -As can assemble multi-level RAIDs ok.
 
9
  * --build to build raid1 or multipath arrays 
 
10
       clean or not ???
 
11
  
 
12
----------------------------------------------------------------------------
 
13
* mdadm --monitor to monitor failed multipath paths and re-instate them.
 
14
 
 
15
* Maybe make "--help" fit in 80x24 and have a --long-help with more info. DONE
 
16
 
 
17
 
 
18
* maybe "missing" instead of <bold>missing</> in doco DONE
 
19
* possibly wait for resync to start, or even finish while assembling.- NO
 
20
 
 
21
* -Db should have a devices= entry if possible. - DONE
 
22
* when assembling multipath arrays, ignore any error indicators. - DONE
 
23
* rationalise --monitor usage:
 
24
     mdadm --monitor
 
25
  doesn't do as expected. DONE
 
26
 
 
27
* --assemble could have a --update option. - DONE
 
28
  following word can be:
 
29
        sparc2.2
 
30
        super-minor
 
31
 
 
32
* mdadm /dev/md11, where md11 is raid0 can segfault, particularly when looking in the 
 
33
   [UU_UUU] string ... which doesn't exist !
 
34
It should be more sensible.  DONE
 
35
 
 
36
Example:
 
37
 
 
38
from  Raimund Sacherer <raimund.sacherer@ngit.at>
 
39
 
 
40
mke2fs -m0 -q /dev/ram1 300
 
41
mount -n -t ext2 /dev/ram1 /tmp
 
42
echo DEVICE /dev/[sh]* >> /tmp/mdadm.conf
 
43
mdadm -Esb /dev/[sh]* 2>/dev/null >> /tmp/mdadm.conf
 
44
mdadm -ARsc /tmp/mdadm.conf
 
45
umount /tmp
 
46
 
 
47
 
 
48
?? Allow -S /dev/md? - current complains subsequent not a/d/r - DONE
 
49
 
 
50
* new "Query" mode to subsume --detail and --examine.
 
51
   --query or -Q, takes a device and tells if it is an MD device,
 
52
   and also tells in a raid superblock is found. 
 
53
 DONE
 
54
 
 
55
* write mdstat.c to parse /proc/mdstat file
 
56
   Build list of arrays:  name, rebuild-percent
 
57
  DONE
 
58
 
 
59
* parse /proc/partitions and map major/minor into /dev/* names,
 
60
  and use that for default DEVICE list ????
 
61
 
 
62
* --detail --scan to read /proc/mdstat, and then iterate over these,
 
63
    but assume --brief.  --verbose can override
 
64
    check each subdevice to see if it is in conf_get_devs.
 
65
    Warn if not.
 
66
  DONE, but don't warn yet...
 
67
 
 
68
* Support multipath ... maybe...
 
69
  maybe DONE
 
70
 
 
71
* --follow to syslog 
 
72
 
 
73
* --follow to move spares around DONE
 
74
 
 
75
* --follow to notice other events: DONE
 
76
     rebuild started
 
77
     spare activated
 
78
     spare removed
 
79
     spare added
 
80
 
 
81
------------------------------------
 
82
- --examine --scan scans all drives and build an mdadm.conf file DONE
 
83
 
 
84
- check superblock checksum in examine DONE
 
85
- report "chunk" or "rounding" depending on raid level DONE
 
86
- report "linear" instead of "-1" for raid level DONE
 
87
- decode ayout depending on raid level DONE
 
88
- --verbose and --force flags. DONE
 
89
 
 
90
- set md_minor, *_disks for Create  - DONE
 
91
- for create raid5, how to choose between 
 
92
   all working, but not insync
 
93
   one missing, one spare, insync  DONE (--force)
 
94
- and for raid1 - some failed drives...  (missing)
 
95
 
 
96
- when RUN_ARRAY, make sure *_disks counts are right
 
97
 
 
98
- get --detail to extract extra stuff from superblock,
 
99
   like uuid  DONE
 
100
- --detail --brief to give a config file line DONE
 
101
- parse config file. DONE
 
102
- test...
 
103
 
 
104
- when --assemble --scan, if an underlying device is an md device, 
 
105
  then try to assemble that device first.
 
106
 
 
107
 
 
108
- mdadm -S /dev/md0 /dev/md1 gives internal error FIXED
 
109
 
 
110
- mdadm --detail --scan print summary of what it can find? DONE
 
111
 
 
112
 
 
113
---------
 
114
Assemble doesn't add spares. - DONE
 
115
Create to allow "missing" name for devices.
 
116
Create to accept "--force" for do exactly what is requested
 
117
- get Assemble to upgrade devices if force flag.
 
118
ARRAY lines in config file to have super_minor=n
 
119
ARRAY lines in config file to have device=pattern, and only accept
 
120
   those devices
 
121
   If UUID given, insist on that
 
122
   If not, but super_minor given, require all found with that minor
 
123
    to have same uuid
 
124
   If only device given, all valid supers on those devices must have 
 
125
    same uuid
 
126
allow /dev/mdX as first argument before any options
 
127
Possible --dry-run option for create and assemble--force
 
128
 
 
129
Assemble to check that all devices mentioned in superblock
 
130
  are present.
 
131
 
 
132
New mode: --Monitor (or --Follow)
 
133
  Periodically check status of all arrays (listed in config file).
 
134
  Log every event and apparent cause - or differences
 
135
  Email and alert - or run a program - for important events
 
136
  Move spares around if necessary.
 
137
 
 
138
  An Array line can have a spare-group= field that indicates that
 
139
   the array shares spares with other arrays with the same
 
140
   spare-group name.
 
141
   If an array has a failed and no spares, then check all other
 
142
     arrays in the spare group.  If one has no failures and a spare,
 
143
     then consider that spare.
 
144
    Choose the smallest considered spare that is large enough.
 
145
    If there is one, then hot-remove it from it's home, and
 
146
    hot-add it to the array in question.
 
147
 
 
148
  --mail-to address  
 
149
  --alert-handler program
 
150
  
 
151
  Will also extract information from /proc/mdstat if present,
 
152
  and consider 20% marks in rebuild as events.
 
153
 
 
154
  Events are:
 
155
     drive fails  - causes mail to be sent
 
156
     rebuild started
 
157
     spare activated
 
158
     spare removed
 
159
     spare added