Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Feb 2016 12:33:04 -0800
From:      Ravi Pokala <rpokala@mac.com>
To:        "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>
Subject:   Re: Hours of tiny transfers at the end of a ZFS resilver?
Message-ID:  <8E04E52A-2635-4253-8140-F69495D7D0A6@panasas.com>

next in thread | raw e-mail | index | archive | help
>Date: Mon, 15 Feb 2016 21:18:59 +1100
>From: Andrew Reilly <areilly@bigpond.net.au>
>To: freebsd-fs@freebsd.org
>Subject: Hours of tiny transfers at the end of a ZFS resilver?
>Message-ID: <120226C8-3003-4334-9F5F-882CCB0D28C5@bigpond.net.au>
>Content-Type: text/plain; charset=us-ascii
>
>Hi Filesystem experts,

Hi Andrew,

I am in no way, shape, or form a filesystem expert. :-) I *am*, however, an ATA drive expert. I wanted to clarify something you said, because it seems to be a common misunderstanding.

>... the new drives actually have 4096B sectors (although they lie about that in smartctl -i queries):

They're not lying.

>Sector Sizes:     512 bytes logical, 4096 bytes physical

Right there - "Sector Size: ... 4096 bytes physical". This is 512B logical / 4KB physical scheme is called AF-512e, and is a documented, standard format.

https://en.wikipedia.org/wiki/Advanced_Format#512e

The intent is to allow backwards-compatibility with software going back decades, which only knows about 512-byte sectors. Such software would treat an AF-512e drive the same as any other drive. The trade-off is performance, because the drive has to transparently perform read-modify-write operations (for sub-4096B writes), and read the full 4096B physical sector even if only a single 512B logical sector was requested. (Ditto if a properly-sized but un-aligned request were made.)

I know GEOM reports both the logical and physical sector sizes (as the provider's "sectorsize" and "stripesize", respectively), and I know that the ATACAM driver is populating them correctly based on the drive's IDENTIFY_DEVICE information. (My very first submission to the project was to fix some bugs in this code; r262886, 2014-03-07.) [*]

I *don't* know if ZFS does the right thing automatically; it might not be able to determine what "the right thing" is in all cases. I leave answering that to the actual ZFS experts. :-)

-Ravi (rpokala@)

[*] This is probably a good segue into discussing why we even have the ADA_Q_4K quirk, and whether we should get rid of it...? --rp




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8E04E52A-2635-4253-8140-F69495D7D0A6>