Hi Jens, this series adds a ->free_disk method to struct block_device_operation so that drivers can defer freeing their disk private data until the gendisk goes away and don't need to play games with the validity of ->private_data. This also converts three simple drivers over as example, but eventually I imagine that all drivers with private data will use it. Changes since v2: - only call ->free_disk after add_disk has returned to simplify probe error handling Changes since v1: - fix a tag_set use after free in virtio_blk Diffstat: block/genhd.c | 5 ++ drivers/block/virtio_blk.c | 66 +++++++----------------------------- drivers/memstick/core/ms_block.c | 64 ++++++++-------------------------- drivers/memstick/core/ms_block.h | 1 drivers/memstick/core/mspro_block.c | 57 +++++-------------------------- include/linux/blkdev.h | 2 + 6 files changed, 46 insertions(+), 149 deletions(-)