[illumos-Developer] illumos bug/rfe 453

Deano deano at rattie.demon.co.uk
Mon Jan 24 03:22:42 PST 2011


Hi,

Zfs will simply use the zpool sector size without issue, there are already
existing 4K drives (that report the size correctly) working fine.

Zpool handles larger sector sizes per pool and some people have reported mix
sector sizes are also handled fine (I've not personally tested but it should
be okay as there is some code to handle it).
There is an existing SD driver mechanism to force RMW into the driver rather
than letting the firmware do it for a few SSDs that have the same issue
(report 512 but actually 4K).
A solution imho is to extend this mechanism out from SSD only to all SD
controlled drives, which will give us a sd.conf tunable and then build a
static list of known drivers for plug and play. Also need to check this
produces the correct result with partition alignment and other factors and
extend if required.

In all cases this only affects performance, illumos works 100% on 4K drives
now without modification. There is are several mods at the zpool level that
are workaround until proper integration in to sd.conf (I'm in the process of
adding my previous zpool patch to OI wiki, as a short term patch and
workaround);

I'm hoping to start work (if no-one else is working on it?) on extending sd
and sd.conf in the next few weeks, I've poked around the code enough to know
where and how, just not had to time to write and test yet. Also need some
form of test suite, at the very least checking overridden sector sizes
including partition alignment and pools of differing drive sector sizes.

Would be good to attach these arc bugs to the illumos bug, so we have a
single place with reference to all the known existing issues.

As a side note: sd driver needs a major clean at some point IMHO. Right now
its 33K lines of work-around and fixes covering about 20 years of drives.
Long term I think we should split out serial SD (most current and future
drives) into its own driver allowing us to get a cleaner base going forward
whilst leaving SD for the older generation.

Bye,
Deano

deano at cloudpixies.com

-----Original Message-----
From: wessels [mailto:wessels147 at gmail.com] 
Sent: 24 January 2011 09:33
To: developer at lists.illumos.org
Subject: [illumos-Developer] illumos bug/rfe 453

Hi,

as Garret already pointed out that the best place for the sector size
should be the SD driver. There are a couple of related arc for this:

[1] PSARC/2010/296 Add tunable to control RMW for Flash Devices
http://arc.opensolaris.org/caselog/PSARC/2010/296/mail

[2] PSARC 2008/465 Improved [s]sd-config-list support
http://arc.opensolaris.org/caselog/PSARC/2008/465/mail

[2] PSARC 2008/769 Multiple disk sector size support
http://arc.opensolaris.org/caselog/PSARC/2008/769/mail

Apparently this
(http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6978344)
was integrated just after the code drops stopped. Personaly I think
handling this at the SD driver is a more flexible approach. If a
tunable were provided for zfs than other consumers of SD were still
using an incorrect sector size.
Given that SD will report larger sector sizes than 512 bytes, how will
zfs deal with that? Will it use the reported size when creating the
pool? Can zfs handle different reported sector sizes withing a pool?
Can the data disks be of different sector sizes? Can L2ARC's or slog's
have a different size than the data disks? What happens when larger
sector size devices are later added to the pool?
I need to look into this a bit more but given the age of this thread
and the need for a long term solution I thought it was better to post
some initial thoughts.
Regards,

_______________________________________________
Developer mailing list
Developer at lists.illumos.org
http://lists.illumos.org/m/listinfo/developer




More information about the Developer mailing list