diff options
author | Christoph Hellwig <hch@lst.de> | 2023-06-01 11:44:50 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-06-05 18:53:04 +0200 |
commit | eec1be4c30df73238b936fa9f3653773a6f8b15c (patch) | |
tree | 85876754b90fb5f8ce019b1573df16739d064e87 /block/blk.h | |
parent | block: unhash the inode earlier in delete_partition (diff) | |
download | linux-eec1be4c30df73238b936fa9f3653773a6f8b15c.tar.xz linux-eec1be4c30df73238b936fa9f3653773a6f8b15c.zip |
block: delete partitions later in del_gendisk
Delay dropping the block_devices for partitions in del_gendisk until
after the call to blk_mark_disk_dead, so that we can implementat
notification of removed devices in blk_mark_disk_dead.
This requires splitting a lower-level drop_partition helper out of
delete_partition and using that from del_gendisk, while having a
common loop for the whole device and partitions that calls
remove_inode_hash, fsync_bdev and __invalidate_device before the
call to blk_mark_disk_dead.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Acked-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Link: https://lore.kernel.org/r/20230601094459.1350643-8-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk.h')
-rw-r--r-- | block/blk.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk.h b/block/blk.h index 7ad7cb6ffa01..9582fcd0df41 100644 --- a/block/blk.h +++ b/block/blk.h @@ -409,7 +409,7 @@ int bdev_add_partition(struct gendisk *disk, int partno, sector_t start, int bdev_del_partition(struct gendisk *disk, int partno); int bdev_resize_partition(struct gendisk *disk, int partno, sector_t start, sector_t length); -void blk_drop_partitions(struct gendisk *disk); +void drop_partition(struct block_device *part); void bdev_set_nr_sectors(struct block_device *bdev, sector_t sectors); |