From: Ned Bass Date: Wed, 29 Feb 2012 18:08:20 +0000 (-0800) Subject: Align parition end on 1 MiB boundary X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;h=613d88eda89945bb0011ddc05d3bd064bf1a8e1b;hp=613d88eda89945bb0011ddc05d3bd064bf1a8e1b;p=zfs.git Align parition end on 1 MiB boundary Some devices have exhibited sensitivity to the ending alignment of partitions. In particular, even if the first partition begins at 1 MiB, we have seen many sd driver task abort errors with certain SSDs if the first partition doesn't end on a 1 MiB boundary. This occurs when the vdev label is read during pool creation or importation and causes a delay of about 30 seconds per device. It can also be simulated with dd when the pool isn't imported: dd if=/dev/sda1 of=/dev/null bs=262144 count=1 For the record, this problem was observed with SMARTMOD SG9XCA2E200GE01 200GB SSDs. Unfortunately I don't have a good explanation for this behavior. It seems to have something to do with highly fragmented single-sector requests being issued to the device, which it may not support. With end-aligned partitions at least page-sized requests were queued and issued to the driver according to blktrace. In any case, aligning the partition end is a fairly innocuous work-around, wasting at most 1 MiB of space. Signed-off-by: Brian Behlendorf Closes #574 ---