Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jul 2013 21:22:50 +0100
From:      "Steven Hartland" <smh@freebsd.org>
To:        <d@delphij.net>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Xin LI <delphij@FreeBSD.org>
Subject:   Re: svn commit: r253441 - in head: cddl/contrib/opensolaris/cmd/zpool sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <A8D812B7250E4072BFCDACF5EA644674@multiplay.co.uk>
References:  <201307180022.r6I0MgeS094364@svn.freebsd.org> <251C370CF0FF4EE686D571A1235D4C90@multiplay.co.uk> <51E73BCA.3030404@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
----- Original Message ----- 
From: "Xin Li" <delphij@delphij.net>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> On 07/17/13 17:34, Steven Hartland wrote:
>> This is an interesting change, could this not cause serious issues
>> when we try to read / write to a disk with an incompatible block
>> size?
> 
> No, it's safe to use larger ashift to access pool formatted with
> smaller ashift, it's not optimal but better than marking the pool
> FALUTERED, and yes, the operator still have to recreate the pool if
> performance is a concern.

Maybe I'm missing something but if the device is truely using a larger
sectorsize than that which the zpool was created with then surely
attempts to address it will fail in g_io_check when bio_offset is
not a factor of sectorsize?

For example on a native 4k sectorsize disk its not possible to directly
access the bytes at offset 512 instead you would need to read offset 0
and scan in 512 bytes to the returned data block. I didn't think
geom / zfs dealt with this case?

The only case I can see this happening is if an old 512b sectorsize
disk was dd'ed to a new 4k sectorsize one but thats effectively what
this change is allowing.

    Regards    
    Steve




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