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.