Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 237045fc authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-4.6/drivers' of git://git.kernel.dk/linux-block

Pull block driver updates from Jens Axboe:
 "This is the block driver pull request for this merge window.  It sits
  on top of for-4.6/core, that was just sent out.

  This contains:

   - A set of fixes for lightnvm.  One from Alan, fixing an overflow,
     and the rest from the usual suspects, Javier and Matias.

   - A set of fixes for nbd from Markus and Dan, and a fixup from Arnd
     for correct usage of the signed 64-bit divider.

   - A set of bug fixes for the Micron mtip32xx, from Asai.

   - A fix for the brd discard handling from Bart.

   - Update the maintainers entry for cciss, since that hardware has
     transferred ownership.

   - Three bug fixes for bcache from Eric Wheeler.

   - Set of fixes for xen-blk{back,front} from Jan and Konrad.

   - Removal of the cpqarray driver.  It has been disabled in Kconfig
     since 2013, and we were initially scheduled to remove it in 3.15.

   - Various updates and fixes for NVMe, with the most important being:

        - Removal of the per-device NVMe thread, replacing that with a
          watchdog timer instead. From Christoph.

        - Exposing the namespace WWID through sysfs, from Keith.

        - Set of cleanups from Ming Lin.

        - Logging the controller device name instead of the underlying
          PCI device name, from Sagi.

        - And a bunch of fixes and optimizations from the usual suspects
          in this area"

* 'for-4.6/drivers' of git://git.kernel.dk/linux-block: (49 commits)
  NVMe: Expose ns wwid through single sysfs entry
  drivers:block: cpqarray clean up
  brd: Fix discard request processing
  cpqarray: remove it from the kernel
  cciss: update MAINTAINERS
  NVMe: Remove unused sq_head read in completion path
  bcache: fix cache_set_flush() NULL pointer dereference on OOM
  bcache: cleaned up error handling around register_cache()
  bcache: fix race of writeback thread starting before complete initialization
  NVMe: Create discard zero quirk white list
  nbd: use correct div_s64 helper
  mtip32xx: remove unneeded variable in mtip_cmd_timeout()
  lightnvm: generalize rrpc ppa calculations
  lightnvm: remove struct nvm_dev->total_blocks
  lightnvm: rename ->nr_pages to ->nr_sects
  lightnvm: update closed list outside of intr context
  xen/blback: Fit the important information of the thread in 17 characters
  lightnvm: fold get bb tbl when using dual/quad plane mode
  lightnvm: fix up nonsensical configure overrun checking
  xen-blkback: advertise indirect segment support earlier
  ...
parents 35d88d97 118472ab
Loading
Loading
Loading
Loading
+0 −93
Original line number Diff line number Diff line
This driver is for Compaq's SMART2 Intelligent Disk Array Controllers.

Supported Cards:
----------------

This driver is known to work with the following cards:

	* SMART (EISA)
	* SMART-2/E (EISA)
	* SMART-2/P
	* SMART-2DH
	* SMART-2SL
	* SMART-221
	* SMART-3100ES
	* SMART-3200
	* Integrated Smart Array Controller
	* SA 4200
	* SA 4250ES
	* SA 431
	* RAID LC2 Controller

It should also work with some really old Disk array adapters, but I am
unable to test against these cards:

	* IDA
	* IDA-2
	* IAES


EISA Controllers:
-----------------

If you want to use an EISA controller you'll have to supply some
modprobe/lilo parameters.  If the driver is compiled into the kernel, must
give it the controller's IO port address at boot time (it is not
necessary to specify the IRQ).  For example, if you had two SMART-2/E
controllers, in EISA slots 1 and 2 you'd give it a boot argument like
this:

	smart2=0x1000,0x2000

If you were loading the driver as a module, you'd give load it like this:

	modprobe cpqarray eisa=0x1000,0x2000

You can use EISA and PCI adapters at the same time.


Device Naming:
--------------

You need some entries in /dev for the ida device.  MAKEDEV in the /dev
directory can make device nodes for you automatically.  The device setup is
as follows:

Major numbers:
	72	ida0
	73	ida1
	74	ida2
	75	ida3
	76	ida4
	77	ida5
	78	ida6
	79	ida7

Minor numbers:
        b7 b6 b5 b4 b3 b2 b1 b0
        |----+----| |----+----|
             |           |
             |           +-------- Partition ID (0=wholedev, 1-15 partition)
             |
             +-------------------- Logical Volume number

The device naming scheme is:
/dev/ida/c0d0		Controller 0, disk 0, whole device
/dev/ida/c0d0p1		Controller 0, disk 0, partition 1
/dev/ida/c0d0p2		Controller 0, disk 0, partition 2
/dev/ida/c0d0p3		Controller 0, disk 0, partition 3

/dev/ida/c1d1		Controller 1, disk 1, whole device
/dev/ida/c1d1p1		Controller 1, disk 1, partition 1
/dev/ida/c1d1p2		Controller 1, disk 1, partition 2
/dev/ida/c1d1p3		Controller 1, disk 1, partition 3


Changelog:
==========

10-28-2004 :	General cleanup, syntax fixes for in-kernel driver version.
		James Nelson <james4765@gmail.com>


1999 :		Original Document
+2 −8
Original line number Diff line number Diff line
@@ -5016,12 +5016,6 @@ T: git git://linuxtv.org/anttip/media_tree.git
S:	Maintained
F:	drivers/media/dvb-frontends/hd29l2*

HEWLETT-PACKARD SMART2 RAID DRIVER
L:	iss_storagedev@hp.com
S:	Orphan
F:	Documentation/blockdev/cpqarray.txt
F:	drivers/block/cpqarray.*

HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
M:	Don Brace <don.brace@microsemi.com>
L:	iss_storagedev@hp.com
@@ -5034,9 +5028,9 @@ F: include/linux/cciss*.h
F:	include/uapi/linux/cciss*.h

HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
M:	Don Brace <don.brace@pmcs.com>
M:	Don Brace <don.brace@microsemi.com>
L:	iss_storagedev@hp.com
L:	storagedev@pmcs.com
L:	esc.storagedev@microsemi.com
L:	linux-scsi@vger.kernel.org
S:	Supported
F:	Documentation/blockdev/cciss.txt
+0 −10
Original line number Diff line number Diff line
@@ -110,16 +110,6 @@ source "drivers/block/mtip32xx/Kconfig"

source "drivers/block/zram/Kconfig"

config BLK_CPQ_DA
	tristate "Compaq SMART2 support"
	depends on PCI && VIRT_TO_BUS && 0
	help
	  This is the driver for Compaq Smart Array controllers.  Everyone
	  using these boards should say Y here.  See the file
	  <file:Documentation/blockdev/cpqarray.txt> for the current list of
	  boards supported by this driver, and for further information on the
	  use of this driver.

config BLK_CPQ_CISS_DA
	tristate "Compaq Smart Array 5xxx support"
	depends on PCI
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ obj-$(CONFIG_ATARI_FLOPPY) += ataflop.o
obj-$(CONFIG_AMIGA_Z2RAM)	+= z2ram.o
obj-$(CONFIG_BLK_DEV_RAM)	+= brd.o
obj-$(CONFIG_BLK_DEV_LOOP)	+= loop.o
obj-$(CONFIG_BLK_CPQ_DA)	+= cpqarray.o
obj-$(CONFIG_BLK_CPQ_CISS_DA)  += cciss.o
obj-$(CONFIG_BLK_DEV_DAC960)	+= DAC960.o
obj-$(CONFIG_XILINX_SYSACE)	+= xsysace.o
+1 −1
Original line number Diff line number Diff line
@@ -341,7 +341,7 @@ static blk_qc_t brd_make_request(struct request_queue *q, struct bio *bio)

	if (unlikely(bio->bi_rw & REQ_DISCARD)) {
		if (sector & ((PAGE_SIZE >> SECTOR_SHIFT) - 1) ||
		    bio->bi_iter.bi_size & PAGE_MASK)
		    bio->bi_iter.bi_size & ~PAGE_MASK)
			goto io_error;
		discard_from_brd(brd, sector, bio->bi_iter.bi_size);
		goto out;
Loading