I'm for solution 3: - keep blk_bio_{discard,write_same}_split, but ensure we never built a > 4GB bio in blkdev_issue_{discard,write_same}. Note that this isn't special casing, we can't build > 4GB bios for data either, it's just implemented as a side effect right now instead of checked explicitly.