The industry is moving toward 4k-sectored hard disk drives - a bit late though but better late then newer. However, in the interim period where compatibility for 4k sector drives is not widespread, drives such as WD's EARS series are using internal translation to present themselves as 512-byte sector drives, leading to unexpectedly horrible write performance. As a band-aid I'm proposing an almost trivial patch to glabel which allows it to have a "forced sector size" specified and as a result can present 4k sectors to the file system even if the physical drive doesn't. See also: glabel.
Users of such drives are hereby invited to test the patch! It applies to HEAD but should also cleanly apply to 8-STABLE.
However, there is a dispute if this is a "clean enough" method of supporting 4k drives to bring into FreeBSD. As this really should be a temporary solution either until drives stop presenting themselves as 512-byte sectored or a "native" support appears for 4k sectored drives and it's not exactly glabel's primary job to translate geometry, I see the other side's view. But I think there are also good sides to it:
- glabel is in GENERIC kernel by default (and unlike say, em driver, its purpose is to label drives and other providers as "something"), so people are using it and are familiar with it.
- The patch really is simple, basically adding a metadata field and using it in GEOM creation, which is also very clean (due to the good design of GEOM).
- A separate GEOM class to do this will look exactly like glabel does now (basically I can copy-paste glabel), with support for partition and file system metadata removed. I'm not against this approach.
So far, it's two against one (me being the one) in favour of not committing it, so I'm basically gathering support now. I will revisit this topic before 9.0 gets frozen because it would really suck not to have any kind of support for 4k drives in a brand new release. Of course, if native support actually appears, all this will be needless.
On the other hand, the good news is that UFS apparently works fine with 4k sector drives, and so does GEOM, meaning that, except for recognizing that the drives are actually 4k-sectored instead of 512-byte sectored, FreeBSD has supported 4k drives practically forever (or more precisely something like 2003). This is completely orthogonal to disk partition table formats (like fdisk/MBR and disklabel) which may or may not support it.