Date: Thu, 13 Mar 2008 15:35:51 +0100 From: lulf@stud.ntnu.no To: rick-freebsd@kiwi-computer.com Cc: freebsd-geom@freebsd.org Subject: Re: [patch] geom_vinum platform fixes Message-ID: <20080313153551.82wlu8iio4088c44@webmail.ntnu.no> In-Reply-To: <20080310052711.GA49676@keira.kiwi-computer.com> References: <20080310052711.GA49676@keira.kiwi-computer.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Siterer "Rick C. Petty" <rick-freebsd@kiwi-computer.com>: > Attached is a patch against RELENG_6 (but applies cleanly against > RELENG_7). It contains a fix to the geom_vinum platform brokenness > explained in my earlier email. Please review the patch and provide any > feedback. I will try to find a committer to review/commit this and any > subsequent changes early this week. Hello, I've spent a _lot_ of time fixing gvinum, so your previous statements =20 saying noone is fixing gvinum really is wrong :) I'm sorry this is taking so long, but there has been much time invested in 7.0 before gvinum. I'm also in Japan for another two weeks, so I won't be able to continue a discussion on this right now. But I agree with your changes, and I'll review and integrate your changes to the new code base ASAP, but this will probably not go in until the =20 new gvinum codebase iscommitted, since that will probably happen before 7.1/6.4 anywa= y -- Ulf Lilleengen > > Here is a quick overview of the patch. I've split the reading and writing > of the on-disk vinum header into separate functions. The header is read > by gv_drive_taste() and written by gv_save_config() and gv_rm_drive(). > > For reads, there are three possible on-disk formats it handles: the legac= y > i386 and legacy amd64 formats and the current (forward-going) format. The > legacy formats are distinguished by the algorithm in > gv_test_legacy_header_type(), which tests for known zeros, etc. Both > legacy formats are stored in little-endian, and this code should work on > all architectures regardless of endianness. I use a separate in-memory > structure to simplify the conversions. > > For writes, the patch only supports the new forward-going on-disk format. > This format is stored in big-endian (network order, also it's easier to > read with hexdump) and uses a new magic. This new magic value contains a > version number which I've started at 1, in case future enhancements are > made to the on-disk structure. Note that devices with old formats are > auto-upgraded when the configuration is written, which does not happen > unless "gvinum saveconfig" is used or the gvinum configuration is changed > for any reason. This lets admins keep using the old format. All new > devices added to gvinum will get the new format. > > I've tested this patch on 6.3-stable (i386) and 7.0-stable (i386, amd64) > systems, using vinum configurations created by amd64 & i386 formats and by > the new format. Other testers are welcome! > > -- Rick C. Petty >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080313153551.82wlu8iio4088c44>