Date: Wed, 06 Mar 2002 15:19:42 -0600 From: Craig Boston <craig@meoqu.gank.org> To: stable@freebsd.org Cc: sos@freebsd.dk, grog@freebsd.org Subject: Vinum on ATA-RAID devices (was Re: Request for testers of new ATA driver patches) Message-ID: <3C8687EE.9060304@meoqu.gank.org> References: <200203060821.g268LR045942@freebsd.dk> <3C864253.5000700@meoqu.gank.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Craig Boston wrote: > (blah blah blah) Okay, this is the last post to the list on this topic. I promise :) It appears my previous patch is not quite enough. It gets vinum working all right, but every time I reboot it "forgets" the config and has to be re-created. I tracked the problem down to the fact that ar devices aren't in the list provided by getdevs(), and that's how vinum figures out where to load its configuration from. So, the attached patch should fix both problems. I've been running it for the past few hours (along with the backported -current ATA driver), and so far everything is working flawlessly and has survived a couple buildworlds while my mirror is rebuilding. vinum ld shows: D alpha State: up Device /dev/ar0s1e Avail: 1/18600 MB (0%) D beta State: up Device /dev/ar1s1e Avail: 1/18600 MB (0%) Yay! :) The more I think about it, the more I see the usefulness of vinum on ar devices. For example, if your RAID controller lets you create new arrays but not expand existing ones, you could add it to a vinum span set to simulate the effect (I've had to do this with Compaq SCSI RAIDs). Sren: It's your driver -- is there any particular reason that ar should be left off the devstat list? My patch adds a devstat entry for it, but never removes it. As far as I can tell disk_destroy never happens for ata-raid devices, so I think/hope this is the correct behaviour. It also doesn't implement devstat transactions, but I'm not sure if that even makes sense due to ar being more of an abstraction. I don't know yet if there will be any ill effects from doing this as I'm not incredibly familiar with the ATA subsystem. The patch is for -stable systems with Soren's -current ATA driver backport already applied. I also have a version for stock RELENG_4 systems with the old driver, but am not posting it because it can cause problems due to vinum being able to access the subdisks directly and it reading them first. I doubt the patch will apply cleanly to -current, but with a few minor changes should be able to work... Thanks -- I'll stop bugging you guys now :) Craig [-- Attachment #2 --] v<
