Date: Tue, 25 Oct 2011 17:35:08 +0300 From: Nikolay Denev <ndenev@gmail.com> To: Jason Edwards <sub.mesa@gmail.com> Cc: freebsd-current@freebsd.org Subject: Re: Problems with "ada0: Previously was known as ad6" functionality Message-ID: <7FE0AE74-7C29-4DD0-8EBA-F2BB70F3CB97@gmail.com> In-Reply-To: <CAB%2BTj8_oohsoPUokRfuyJSMzF%2B5FEgFaU_f2zdDjJ4UFk6CcBg@mail.gmail.com> References: <CAB%2BTj8_oohsoPUokRfuyJSMzF%2B5FEgFaU_f2zdDjJ4UFk6CcBg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Oct 25, 2011, at 4:38 PM, Jason Edwards wrote: > Hello list, >=20 > I'm working on ZFSguru, a FreeNAS-like distribution based on FreeBSD > that focuses on NAS or Network Attached Storage functionality, > sporting a web-interface et al. >=20 > I've been building FreeBSD 9.0-RC1, and put together a LiveCD using my > own scripts. It works, and boots fine in Virtualbox just like the > other LiveCDs. Though I discovered a problem. >=20 > It appears that some new functionality was put in 9.x to 'symlink' the > new 'ada' devices using AHCI driver to the old-fashioned 'ad' (ATA) > device names, probably to make migration of ATA to AHCI driver more > convenient for users still using hardcoded devices in /etc/fstab > (shame on you!). However, I suspect this is causing a nasty > side-effect, because after having created a GPT partition with a ZFS > pool on it, I cannot import it once I reboot fresh from the LiveCD, > with 'zpool import' showing a corrupt pool. I've seen this before and > generally it means that ZFS cannot read data or that GEOM does funny > things. In this case, it could be that ad6 and ada0 both contain the > same metadata, which somehow causes ZFS to go beserk. >=20 > I would like to debug this issue, but for that I need to disable the > 'ada0 to ad6' symlinking functionality. I've searched for a sysctl > variable which can disable this behavior, but have not found it. > Anyone can enlighten me how I can disable this behavior, so that I > only get /dev/ada0 and no ad6? If the zpool import works again after > that change, this would confirm my suspicions that this behavior is > causing the zpool import command to fail. >=20 > I'm using FreeBSD 9.0-RC1 fetched this morning as RELENG_9, uname: > # uname -a > FreeBSD zfsguru.bsd 9.0-RC1 FreeBSD 9.0-RC1 #0: Tue Oct 25 07:13:52 > UTC 2011 ssh@zfsguru:/usr/obj/usr/src/sys/GENERIC amd64 >=20 >=20 > Relevant command output: >=20 > # dmesg | grep ad > (..) > ada0: Previously was known as ad6 >=20 > # ls -l /dev/ad* > lrwxr-xr-x 1 root wheel 4 Oct 25 13:21 /dev/ad6 -> ada0 > lrwxr-xr-x 1 root wheel 6 Oct 25 13:21 /dev/ad6p1 -> = ada0p1 > crw-r----- 1 root operator 0, 73 Oct 25 13:20 /dev/ada0 > crw-r----- 1 root operator 0, 75 Oct 25 13:20 /dev/ada0p1 >=20 > # glabel status > Name Status Components > (..) > gpt/testdisk N/A ada0p1 >=20 > # zpool import > pool: tank > id: 17935188179790554412 > state: FAULTED > status: One or more devices contains corrupted data. > action: The pool cannot be imported due to damaged devices or data. > The pool may be active on another system, but can be imported = using > the '-f' flag. > see: http://www.sun.com/msg/ZFS-8000-5E > config: >=20 > tank FAULTED corrupted data > 15830803292687600194 UNAVAIL corrupted data >=20 >=20 > Regards, > Jason / sub.mesa Hello Jason, I was struck with this problem too yesterday. I was able to import the pool by specifying the directory where zpool = should look for devices. Like : zpool import -d /dev/gptid Alternatively you can try putting kern.cam.ada.legacy_aliases=3D0 in = your /boot/loader.conf Regards, Nikolay
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7FE0AE74-7C29-4DD0-8EBA-F2BB70F3CB97>