[kernel] r21975 - in dists/sid/linux/debian: . config patches patches/features/all
Ben Hutchings
benh at moszumanska.debian.org
Sun Oct 26 02:26:08 UTC 2014
Author: benh
Date: Sun Oct 26 02:26:08 2014
New Revision: 21975
Log:
mmc_block: Increase max_devices and set MMC_BLOCK_MINORS to 256 (Closes: #765621)
Added:
dists/sid/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch
Modified:
dists/sid/linux/debian/changelog
dists/sid/linux/debian/config/config
dists/sid/linux/debian/patches/series
Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog Sun Oct 26 01:27:41 2014 (r21974)
+++ dists/sid/linux/debian/changelog Sun Oct 26 02:26:08 2014 (r21975)
@@ -6,6 +6,8 @@
* [i386/486] Update description to say that the processor must have a TSC
(see #766105)
* [x86] r8723au: Backport changes up to Linux 3.17 (Closes: #765685)
+ * mmc_block: Increase max_devices and set MMC_BLOCK_MINORS to 256
+ (Closes: #765621)
[ Mauricio Faria de Oliveira ]
* [ppc64el] Disable CONFIG_CMDLINE{,_BOOL} usage for setting consoles
Modified: dists/sid/linux/debian/config/config
==============================================================================
--- dists/sid/linux/debian/config/config Sun Oct 26 01:27:41 2014 (r21974)
+++ dists/sid/linux/debian/config/config Sun Oct 26 02:26:08 2014 (r21975)
@@ -2189,7 +2189,7 @@
##
## file: drivers/mmc/card/Kconfig
##
-CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_MINORS=256
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set
Added: dists/sid/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch Sun Oct 26 02:26:08 2014 (r21975)
@@ -0,0 +1,48 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 26 Oct 2014 02:09:23 +0000
+Subject: mmc_block: Increase max_devices
+Bug-Debian: https://bugs.debian.org/765621
+
+Currently the driver imposes a limit of 256 total minor numbers,
+apparently based on the historic Unix/Linux limit. This is quite
+restrictive, particularly if we raise the maximum number of
+partitions per card to 256 to match sd.
+
+In order to make the full minor number space available we would
+have to replace the static dev_use and name_use arrays with struct
+ida. But we can at least allow use of 256 cards rather than just
+256 minors, with only a small change.
+
+---
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -78,13 +78,16 @@ static int perdev_minors = CONFIG_MMC_BL
+
+ /*
+ * We've only got one major, so number of mmcblk devices is
+- * limited to 256 / number of minors per device.
++ * limited to (1 << 20) / number of minors per device. It is also
++ * currently limited by the size of the static bitmaps below.
+ */
+ static int max_devices;
+
+-/* 256 minors, so at most 256 separate devices */
+-static DECLARE_BITMAP(dev_use, 256);
+-static DECLARE_BITMAP(name_use, 256);
++#define MAX_DEVICES 256
++
++/* TODO: Replace these with struct ida */
++static DECLARE_BITMAP(dev_use, MAX_DEVICES);
++static DECLARE_BITMAP(name_use, MAX_DEVICES);
+
+ /*
+ * There is one mmc_blk_data per slot.
+@@ -2558,7 +2561,7 @@ static int __init mmc_blk_init(void)
+ if (perdev_minors != CONFIG_MMC_BLOCK_MINORS)
+ pr_info("mmcblk: using %d minors per device\n", perdev_minors);
+
+- max_devices = 256 / perdev_minors;
++ max_devices = min(MAX_DEVICES, (1 << MINORBITS) / perdev_minors);
+
+ res = register_blkdev(MMC_BLOCK_MAJOR, "mmc");
+ if (res)
Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series Sun Oct 26 01:27:41 2014 (r21974)
+++ dists/sid/linux/debian/patches/series Sun Oct 26 02:26:08 2014 (r21975)
@@ -388,3 +388,4 @@
bugfix/all/fold-swapping-d_name.hash-into-switch_names.patch
bugfix/all/vfs-Don-t-exchange-short-filenames-unconditionally.patch
bugfix/all/qla2xxx-fix-kernel-NULL-pointer-access.patch
+features/all/mmc_block-increase-max_devices.patch
More information about the Kernel-svn-changes
mailing list