I committed a fix to fdisk(8) today to un-break the -i and -e options on 4096-byte devices. To make a long story short, it had been working accidentally until I committed a 4.9 change to fdisk(8) to make it pay attention to the errors returned from MBR_read().
However this has raised once more concerns about what is going to happen when 4096-byte sector devices become common, then the norm, and then the smallest disks available. There has been a lot of work done in the last few years to de-couple the internal kernel view of a disk (a series of 512 byte blocks) and the 'real world' view of potentially different sector size devices. With seemless translation being done behind the scenes. However, as today has shown, there may well be further unreconstructed code making invalid assumptions or currently silently working accidentally and waiting for the day when it can blow up your machine. So if you have such a device (disks >3TB are your best bet) I would be very interested in hearing how hard you have to work to break something. Of course the clever can also create vnd's with such large sectors but actual hardware is more convincing. Various filesystems (supported ones only please!), utilities such as fdisk, disklabel, newfs, fsck, dump, restore, etc. Anything which may do any serious disk i/o or is suspected of attempting raw, low level i/o. .... Ken