Commit c4b2b7d1 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: remove CONFIG_DEBUG_BLOCK_EXT_DEVT



This might have been a neat debug aid when the extended dev_t was
added, but that time is long gone.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20210824075216.1179406-3-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 539711d7
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -132,7 +132,6 @@ CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
CONFIG_DEBUG_BLOCK_EXT_DEVT=y
# CONFIG_FTRACE is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_MEMTEST=y
+0 −1
Original line number Diff line number Diff line
@@ -127,7 +127,6 @@ CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
CONFIG_DEBUG_BLOCK_EXT_DEVT=y
# CONFIG_FTRACE is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_MEMTEST=y
+4 −39
Original line number Diff line number Diff line
@@ -313,54 +313,19 @@ void unregister_blkdev(unsigned int major, const char *name)

EXPORT_SYMBOL(unregister_blkdev);

/**
 * blk_mangle_minor - scatter minor numbers apart
 * @minor: minor number to mangle
 *
 * Scatter consecutively allocated @minor number apart if MANGLE_DEVT
 * is enabled.  Mangling twice gives the original value.
 *
 * RETURNS:
 * Mangled value.
 *
 * CONTEXT:
 * Don't care.
 */
static int blk_mangle_minor(int minor)
{
#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
	int i;

	for (i = 0; i < MINORBITS / 2; i++) {
		int low = minor & (1 << i);
		int high = minor & (1 << (MINORBITS - 1 - i));
		int distance = MINORBITS - 1 - 2 * i;

		minor ^= low | high;	/* clear both bits */
		low <<= distance;	/* swap the positions */
		high >>= distance;
		minor |= low | high;	/* and set */
	}
#endif
	return minor;
}

int blk_alloc_ext_minor(void)
{
	int idx;

	idx = ida_alloc_range(&ext_devt_ida, 0, NR_EXT_DEVT, GFP_KERNEL);
	if (idx < 0) {
	if (idx == -ENOSPC)
		return -EBUSY;
	return idx;
}
	return blk_mangle_minor(idx);
}

void blk_free_ext_minor(unsigned int minor)
{
	ida_free(&ext_devt_ida, blk_mangle_minor(minor));
	ida_free(&ext_devt_ida, minor);
}

static char *bdevt_str(dev_t devt, char *buf)
+0 −4
Original line number Diff line number Diff line
@@ -432,10 +432,6 @@ void __init mount_block_root(char *name, int flags)
		printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");

		printk_all_partitions();
#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
		printk("DEBUG_BLOCK_EXT_DEVT is enabled, you need to specify "
		       "explicit textual name for \"root=\" boot option.\n");
#endif
		panic("VFS: Unable to mount root fs on %s", b);
	}
	if (!(flags & SB_RDONLY)) {
+0 −27
Original line number Diff line number Diff line
@@ -1679,33 +1679,6 @@ config DEBUG_WQ_FORCE_RR_CPU
	  feature by default.  When enabled, memory and cache locality will
	  be impacted.

config DEBUG_BLOCK_EXT_DEVT
	bool "Force extended block device numbers and spread them"
	depends on DEBUG_KERNEL
	depends on BLOCK
	default n
	help
	  BIG FAT WARNING: ENABLING THIS OPTION MIGHT BREAK BOOTING ON
	  SOME DISTRIBUTIONS.  DO NOT ENABLE THIS UNLESS YOU KNOW WHAT
	  YOU ARE DOING.  Distros, please enable this and fix whatever
	  is broken.

	  Conventionally, block device numbers are allocated from
	  predetermined contiguous area.  However, extended block area
	  may introduce non-contiguous block device numbers.  This
	  option forces most block device numbers to be allocated from
	  the extended space and spreads them to discover kernel or
	  userland code paths which assume predetermined contiguous
	  device number allocation.

	  Note that turning on this debug option shuffles all the
	  device numbers for all IDE and SCSI devices including libata
	  ones, so root partition specified using device number
	  directly (via rdev or root=MAJ:MIN) won't work anymore.
	  Textual device names (root=/dev/sdXn) will continue to work.

	  Say N if you are unsure.

config CPU_HOTPLUG_STATE_CONTROL
	bool "Enable CPU hotplug state control"
	depends on DEBUG_KERNEL