Skip site navigation (1)Skip section navigation (2)
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>