Date: Thu, 21 Apr 2011 07:51:56 +0000 From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> To: FreeBSD-Current <freebsd-current@freebsd.org> Subject: Re: Switch from legacy ata(4) to CAM-based ATA Message-ID: <DACA5DEF-C004-4818-B658-21045582E480@lists.zabbadoz.net> In-Reply-To: <BCE89DC7-116D-48E1-BD86-DF986062B0CC@samsco.org> References: <4DAEAE1B.70207@FreeBSD.org> <20110420203754.GM85668@acme.spoerlein.net> <4DAF46F8.9040004@FreeBSD.org> <BCE89DC7-116D-48E1-BD86-DF986062B0CC@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 20, 2011, at 10:18 PM, Scott Long wrote: > On Apr 20, 2011, at 2:50 PM, Alexander Motin wrote: >> Ulrich Sp=F6rlein wrote: >>> Can we then please get the "ad" device prefix back? I seem to = remember >>> that when they were introduced they were thought to be a temporary = thing >>> ... >>>=20 >>> Unless both stacks can run in parallel, I don't see a problem with >>> having them both show up as /dev/ad0, etc. People with problems must >>> send in a complete dmesg anyway, so it should be clear what stack = they >>> are running. The POLA violation for people upgrading from 8.x to 9.0 >>> however is pretty big ... and unnecessary. >>=20 >> Stacks do can run in parallel, and it really happens when people = loading >> ahci(4) driver for SATA disks without using `options ATA_CAM` of = ata(4) >> for PATA. As result, SATA will use new stack and PATA - old one. >>=20 >> What's about POLA violation, it is inevitable, because present kernel >> uses ata(4) with ATA_STATIC_ID option, that is not applicable in = modern >> SATA world order. So at least device numbers will change. >>=20 >> Also you should take into account, that many people and some software >> already adapted to adaX names and change back will break POLA for = them. >=20 >=20 > I agree with what Alexander is saying, but I'd like to take it a step = further. We should all be using either mount-by-label, or be working to = introduce generic device names to GEOM. Right now, device names are an = implementation detail that have no functional use other than to = complicate the fstab. Disks exposed through the block layer are simply = direct-access block-array devices, nothing more. There's no functional = difference to the kernel or userland between ad, ar, da, aacd, mfid, = amrd, etc when it comes to reading and writing sectors off of them. But = yet we give them unique names and pretend that those names mean = something. We could give them all the name of "disk" and the system = would still function exactly that same. The name attributes are = interesting when it comes to doing out-of-band management, but it's also = trivial to create a human-readable map and a programatic API between the = generic name and the attribute name. Same goes for volumes labels, and = I'd almost argue that they're more powerful than generic device names. >=20 > In other words, "ada" isn't the problem here, it's that we all still = think in terms of the 1980's when systems didn't autoconfigure and = device names were important hints to system functionality. That time = has thankfully passed, and it's time for us to catch up. >=20 I agree that we need to catch up with something but we should have done = so a year ago. a) we MUST HAVE a transition scheme if we cam-base ATA by default. = Something that converts things automatically to whatever? That's not = been done in more than one year. It's not acceptable to update, reboot = and not find the root file system no matter what. We all agreed on that = back then. I do not really care how it's done. I have been testing cam based ata for a while now on the machines I = can cope with as a developer and even then I screwed the transition = partly two times in the last months. How's a normal user to do that = flawlessly? b) FYI: labels and stacked geoms do not work well together as you can = never detach providers cleanly then, which basically means you are at = risk of data loss with every reboot. I was told multiple times that = this is not fixable. If it is labels seem to be a great why to go. For = now I have to compile them out/disable them unfortunately so they are = not an option, and they'll be less so if the new installer also offers = gmirror, geli, ... installs. Give me a solution that works out of the box and I'll happily agree that = we switch. /bz --=20 Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DACA5DEF-C004-4818-B658-21045582E480>