Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Dec 2010 12:31:52 +0100
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Ivan Voras <ivoras@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r216230 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <20101207113152.GG1700@garage.freebsd.pl>
In-Reply-To: <AANLkTi=TiqtFjjVGeheWV1yTq76jke9axbz2bvm4bQph@mail.gmail.com>
References:  <201012061218.oB6CI3oW032770@svn.freebsd.org> <20101206184453.GA1936@garage.freebsd.pl> <20101206192238.GB1936@garage.freebsd.pl> <AANLkTine9rGq_cM4ruFXYq=-F7cMXcQAr-zKHuWoQs2z@mail.gmail.com> <20101206195327.GD1936@garage.freebsd.pl> <AANLkTinUjzrUWc9Xn-iQYmSMZKVxCw9G-0HH868YonMy@mail.gmail.com> <20101207102104.GD1700@garage.freebsd.pl> <AANLkTi=TiqtFjjVGeheWV1yTq76jke9axbz2bvm4bQph@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--8bBEDOJVaa9YlTAt
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Dec 07, 2010 at 12:25:28PM +0100, Ivan Voras wrote:
> On 7 December 2010 11:21, Pawel Jakub Dawidek <pjd@freebsd.org> wrote:
>=20
> > PS. Do you know your change breaks all current ZFS installation if
> > stripesize is defined for a provider?
> >
> > =A0 =A0 =A0 =A0# zpool create tank ada0
> > =A0 =A0 =A0 =A0(upgrade FreeBSD so that ada0 now reports 4kB stripesize)
> > =A0 =A0 =A0 =A0# zpool import tank
> > =A0 =A0 =A0 =A0cannot import 'tank': invalid vdev configuration
>=20
> Actually I did test the patch and, similar to the Solaris people,
> found that ZFS records ashift in metadata and uses the recorded one
> instead of hardcoded / detected one. What you found here really
> shouldn't happen. Are you sure only stripesize was increased in your
> case, not sectorsize?

	if (pp->stripesize > pp->sectorsize)
		*ashift =3D highbit(MIN(pp->stripesize, SPA_MAXBLOCKSIZE)) - 1;
	else
		*ashift =3D highbit(MAX(pp->sectorsize, SPA_MINBLOCKSIZE)) - 1;

If stripesize will start to be 4096, the ashift will change.

Not sure what you test was, but it only works the other way around -
create pool with 4kB ashift and import it when ashift is 512 bytes.

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--8bBEDOJVaa9YlTAt
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iEYEARECAAYFAkz+GygACgkQForvXbEpPzQjQwCeM42rF9i0vP9vc2hKXvcZd2fH
dGAAoOUriQNLSFoCXzqrQYvikHqhM6l+
=zEIN
-----END PGP SIGNATURE-----

--8bBEDOJVaa9YlTAt--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101207113152.GG1700>