[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