diff options
Diffstat (limited to '0003-block-restore-a-specific-error-code-in-bdev_del_partition.patch')
-rw-r--r-- | 0003-block-restore-a-specific-error-code-in-bdev_del_partition.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/0003-block-restore-a-specific-error-code-in-bdev_del_partition.patch b/0003-block-restore-a-specific-error-code-in-bdev_del_partition.patch new file mode 100644 index 0000000..1de46c0 --- /dev/null +++ b/0003-block-restore-a-specific-error-code-in-bdev_del_partition.patch @@ -0,0 +1,33 @@ +From 90b434f4088c347959313d01d46e207a00949f35 Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig <hch@lst.de> +Date: Tue, 8 Sep 2020 16:15:06 +0200 +Subject: block: restore a specific error code in bdev_del_partition + +mdadm relies on the fact that deleting an invalid partition returns +-ENXIO or -ENOTTY to detect if a block device is a partition or a +whole device. + +Fixes: 08fc1ab6d748 ("block: fix locking in bdev_del_partition") +Reported-by: kernel test robot <rong.a.chen@intel.com> +Signed-off-by: Christoph Hellwig <hch@lst.de> +Signed-off-by: Jens Axboe <axboe@kernel.dk> +--- + block/partitions/core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/block/partitions/core.c b/block/partitions/core.c +index 534e11285a8d..b45539764c99 100644 +--- a/block/partitions/core.c ++++ b/block/partitions/core.c +@@ -529,7 +529,7 @@ int bdev_del_partition(struct block_device *bdev, int partno) + + bdevp = bdget_disk(bdev->bd_disk, partno); + if (!bdevp) +- return -ENOMEM; ++ return -ENXIO; + + mutex_lock(&bdevp->bd_mutex); + mutex_lock_nested(&bdev->bd_mutex, 1); +-- +cgit v1.2.3-1-gf6bb5 + |