So, I think in th short run setting GD_DEAD is the right thing as a non-invasive fix, but I'd rather do it in blk_set_queue_dying to also cover the other drivers with a similar pattern. blk_set_queue_dying is never used for cases where q->disk isn't valid so that should be fine. In the long run I think we just need to remove the fsync_bdev in del_gendisk or at least make it conditional.