Been looking at the FIEMAP ioctl description in the kernel documentation. That should frighten away any user space folks thinking of using it. For a start it could define what an "extent" is.
Anyway I have a different angle. Will FIEMAP work when a file is opened O_DIRECT? What about when the file is a partition or a disk (with or without O_DIRECT)? When a SCSI disk is opened O_DIRECT the FIEMAP ioctl could map through to the SCSI GET LBA STATUS command. Most likely I'm just dreaming.