How much are current database implementations hamstrung by the standard file semantics? If it's a lot, I'm surprised there aren't more databases that just mount a bare disk or partition and do whatever they want with it. Or ship a special kernel module they can talk to that implements a better interface to the underlying block device?
Or does none of this really matter in a world of virtualized-everything where your "block device" is still ultimately hitting multiple layers of actually-just-being-a-file on its way to hardware?