PERFORCE change 123663 for review

Ulf Lilleengen lulf at FreeBSD.org
Tue Jul 17 21:09:26 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=123663

Change 123663 by lulf at lulf_carrot on 2007/07/17 21:09:07

	- Add more to my TODO.

Affected files ...

.. //depot/projects/soc2007/lulf/TODO#6 edit

Differences ...

==== //depot/projects/soc2007/lulf/TODO#6 (text+ko) ====

@@ -149,13 +149,45 @@
 
 20. Make sync/rebuild requests also get delayed due to rebuild requests?
 
-20. When to trondheim. Write papers for status report.
+20. When to trondheim. Write papers for status report. Done.
 
-21. Updateman-page
+21. Updateman-page. Done
 
 22. Add a raid5 command to create a raid5 array the same way that is done with
-concat/mirror/stripe
+concat/mirror/stripe. Done
+
+23. Make sure unequal plexes cannot be mirrored. Done
+
+23. Create patches. Done.
+
+24. Grow RAID-5 arrays.
+How should it be done?
+The way to do this can be by duplicating existing subdisks, add a new one Other
+than that, I'm having plans to make it possible to resize RAID-5 arrays.  There
+are two ways I thought of doing this: If the old array had three drives, and the
+new one four, one would create a new plex with subdisks where three of them
+referenced the same drives as the old plex, but also had a new subdisk for the
+new disk. Then, reading X Bytes from the old plex, and then write it to the new
+plex, which should prevent it from overwriting old data, right (At least if X
+bytes is #disks x stripesize). Could this work, or does it just seem too
+complex? If the stripesize is large and there are many disks, one could perhaps
+run out of memory. 
+
+The problem is that it's hard to clone everything. We could
+modify the gv_plex structure to have a added subdisks field, where all new
+writes would go until the GV_PLEX_GROW flag is gone, but reads still would only be
+served from the normal subdisk list. One would need to modify gv_plexbuffer and
+code in the raid5 config to use this list actively. We can use only one list if
+we assure that we get the correct sdno and psdno.
+
+Where and when should it be done?
+It should be done if sdcount is increased in gv_sd_to_plex, the plex is not
+newborn, and the plexorg is raid-5
+
+Or
+
+The subdisk is added to the plex as normal, but the subdisk carries a special
+flag which tells the system to expand the array when 'init' is run. Should there
+be a grow command perhaps?
 
-23. Make sure unequal plexes cannot be mirrored.
 
-23. Create patches.


More information about the p4-projects mailing list