diff mbox series

block: restore a specific error code in bdev_del_partition

Message ID 20200908141506.2894221-1-hch@lst.de
State New, archived
Headers show
Series block: restore a specific error code in bdev_del_partition | expand

Commit Message

Christoph Hellwig Sept. 8, 2020, 2:15 p.m. UTC
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>
---
 block/partitions/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jens Axboe Sept. 8, 2020, 2:19 p.m. UTC | #1
On 9/8/20 8:15 AM, Christoph Hellwig wrote:
> 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.

Applied, thanks.
diff mbox series

Patch

diff --git a/block/partitions/core.c b/block/partitions/core.c
index 5b4869c08fb380..722406b841dfc7 100644
--- a/block/partitions/core.c
+++ b/block/partitions/core.c
@@ -537,7 +537,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);