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

Commit d4c90b1b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull block IO driver bits from Jens Axboe:
 "As I mentioned in the core block pull request, due to real life
  circumstances the driver pull request would be late.  Now it looks
  like -rc2 late...  On the plus side, apart form the rsxx update, these
  are all things that I could argue could go in later in the cycle as
  they are fixes and not features.  So even though things are late, it's
  not ALL bad.

  The pull request contains:

   - Updates to bcache, all bug fixes, from Kent.

   - A pile of drbd bug fixes (no big features this time!).

   - xen blk front/back fixes.

   - rsxx driver updates, some of them deferred form 3.10.  So should be
     well cooked by now"

* 'for-3.11/drivers' of git://git.kernel.dk/linux-block: (63 commits)
  bcache: Allocation kthread fixes
  bcache: Fix GC_SECTORS_USED() calculation
  bcache: Journal replay fix
  bcache: Shutdown fix
  bcache: Fix a sysfs splat on shutdown
  bcache: Advertise that flushes are supported
  bcache: check for allocation failures
  bcache: Fix a dumb race
  bcache: Use standard utility code
  bcache: Update email address
  bcache: Delete fuzz tester
  bcache: Document shrinker reserve better
  bcache: FUA fixes
  drbd: Allow online change of al-stripes and al-stripe-size
  drbd: Constants should be UPPERCASE
  drbd: Ignore the exit code of a fence-peer handler if it returns too late
  drbd: Fix rcu_read_lock balance on error path
  drbd: fix error return code in drbd_init()
  drbd: Do not sleep inside rcu
  bcache: Refresh usage docs
  ...
parents 3b2f64d0 0878ae2d
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
What:           /sys/module/xen_blkback/parameters/max_buffer_pages
Date:           March 2013
KernelVersion:  3.11
Contact:        Roger Pau Monné <roger.pau@citrix.com>
Description:
                Maximum number of free pages to keep in each block
                backend buffer.

What:           /sys/module/xen_blkback/parameters/max_persistent_grants
Date:           March 2013
KernelVersion:  3.11
Contact:        Roger Pau Monné <roger.pau@citrix.com>
Description:
                Maximum number of grants to map persistently in
                blkback. If the frontend tries to use more than
                max_persistent_grants, the LRU kicks in and starts
                removing 5% of max_persistent_grants every 100ms.
+10 −0
Original line number Original line Diff line number Diff line
What:           /sys/module/xen_blkfront/parameters/max
Date:           June 2013
KernelVersion:  3.11
Contact:        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Description:
                Maximum number of segments that the frontend will negotiate
                with the backend for indirect descriptors. The default value
                is 32 - higher value means more potential throughput but more
                memory usage. The backend picks the minimum of the frontend
                and its default backend value.
+24 −13
Original line number Original line Diff line number Diff line
@@ -46,29 +46,33 @@ you format your backing devices and cache device at the same time, you won't
have to manually attach:
have to manually attach:
  make-bcache -B /dev/sda /dev/sdb -C /dev/sdc
  make-bcache -B /dev/sda /dev/sdb -C /dev/sdc


To make bcache devices known to the kernel, echo them to /sys/fs/bcache/register:
bcache-tools now ships udev rules, and bcache devices are known to the kernel
immediately.  Without udev, you can manually register devices like this:


  echo /dev/sdb > /sys/fs/bcache/register
  echo /dev/sdb > /sys/fs/bcache/register
  echo /dev/sdc > /sys/fs/bcache/register
  echo /dev/sdc > /sys/fs/bcache/register


To register your bcache devices automatically, you could add something like
Registering the backing device makes the bcache device show up in /dev; you can
this to an init script:
now format it and use it as normal. But the first time using a new bcache
device, it'll be running in passthrough mode until you attach it to a cache.
See the section on attaching.


  echo /dev/sd* > /sys/fs/bcache/register_quiet
The devices show up as:


It'll look for bcache superblocks and ignore everything that doesn't have one.
  /dev/bcache<N>


Registering the backing device makes the bcache show up in /dev; you can now
As well as (with udev):
format it and use it as normal. But the first time using a new bcache device,
it'll be running in passthrough mode until you attach it to a cache. See the
section on attaching.


The devices show up at /dev/bcacheN, and can be controlled via sysfs from
  /dev/bcache/by-uuid/<uuid>
/sys/block/bcacheN/bcache:
  /dev/bcache/by-label/<label>

To get started:


  mkfs.ext4 /dev/bcache0
  mkfs.ext4 /dev/bcache0
  mount /dev/bcache0 /mnt
  mount /dev/bcache0 /mnt


You can control bcache devices through sysfs at /sys/block/bcache<N>/bcache .

Cache devices are managed as sets; multiple caches per set isn't supported yet
Cache devices are managed as sets; multiple caches per set isn't supported yet
but will allow for mirroring of metadata and dirty data in the future. Your new
but will allow for mirroring of metadata and dirty data in the future. Your new
cache set shows up as /sys/fs/bcache/<UUID>
cache set shows up as /sys/fs/bcache/<UUID>
@@ -80,11 +84,11 @@ must be attached to your cache set to enable caching. Attaching a backing
device to a cache set is done thusly, with the UUID of the cache set in
device to a cache set is done thusly, with the UUID of the cache set in
/sys/fs/bcache:
/sys/fs/bcache:


  echo <UUID> > /sys/block/bcache0/bcache/attach
  echo <CSET-UUID> > /sys/block/bcache0/bcache/attach


This only has to be done once. The next time you reboot, just reregister all
This only has to be done once. The next time you reboot, just reregister all
your bcache devices. If a backing device has data in a cache somewhere, the
your bcache devices. If a backing device has data in a cache somewhere, the
/dev/bcache# device won't be created until the cache shows up - particularly
/dev/bcache<N> device won't be created until the cache shows up - particularly
important if you have writeback caching turned on.
important if you have writeback caching turned on.


If you're booting up and your cache device is gone and never coming back, you
If you're booting up and your cache device is gone and never coming back, you
@@ -191,6 +195,9 @@ want for getting the best possible numbers when benchmarking.


SYSFS - BACKING DEVICE:
SYSFS - BACKING DEVICE:


Available at /sys/block/<bdev>/bcache, /sys/block/bcache*/bcache and
(if attached) /sys/fs/bcache/<cset-uuid>/bdev*

attach
attach
  Echo the UUID of a cache set to this file to enable caching.
  Echo the UUID of a cache set to this file to enable caching.


@@ -300,6 +307,8 @@ cache_readaheads


SYSFS - CACHE SET:
SYSFS - CACHE SET:


Available at /sys/fs/bcache/<cset-uuid>

average_key_size
average_key_size
  Average data per key in the btree.
  Average data per key in the btree.


@@ -390,6 +399,8 @@ trigger_gc


SYSFS - CACHE DEVICE:
SYSFS - CACHE DEVICE:


Available at /sys/block/<cdev>/bcache

block_size
block_size
  Minimum granularity of writes - should match hardware sector size.
  Minimum granularity of writes - should match hardware sector size.


+2 −2
Original line number Original line Diff line number Diff line
@@ -1642,7 +1642,7 @@ S: Maintained
F:	drivers/net/hamradio/baycom*
F:	drivers/net/hamradio/baycom*


BCACHE (BLOCK LAYER CACHE)
BCACHE (BLOCK LAYER CACHE)
M:	Kent Overstreet <koverstreet@google.com>
M:	Kent Overstreet <kmo@daterainc.com>
L:	linux-bcache@vger.kernel.org
L:	linux-bcache@vger.kernel.org
W:	http://bcache.evilpiepirate.org
W:	http://bcache.evilpiepirate.org
S:	Maintained:
S:	Maintained:
@@ -3346,7 +3346,7 @@ F: Documentation/firmware_class/
F:	drivers/base/firmware*.c
F:	drivers/base/firmware*.c
F:	include/linux/firmware.h
F:	include/linux/firmware.h


FLASHSYSTEM DRIVER (IBM FlashSystem 70/80 PCI SSD Flash Card)
FLASH ADAPTER DRIVER (IBM Flash Adapter 900GB Full Height PCI Flash Card)
M:	Joshua Morris <josh.h.morris@us.ibm.com>
M:	Joshua Morris <josh.h.morris@us.ibm.com>
M:	Philip Kelleher <pjk1939@linux.vnet.ibm.com>
M:	Philip Kelleher <pjk1939@linux.vnet.ibm.com>
S:	Maintained
S:	Maintained
+2 −2
Original line number Original line Diff line number Diff line
@@ -532,11 +532,11 @@ config BLK_DEV_RBD
	  If unsure, say N.
	  If unsure, say N.


config BLK_DEV_RSXX
config BLK_DEV_RSXX
	tristate "IBM FlashSystem 70/80 PCIe SSD Device Driver"
	tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver"
	depends on PCI
	depends on PCI
	help
	help
	  Device driver for IBM's high speed PCIe SSD
	  Device driver for IBM's high speed PCIe SSD
	  storage devices: FlashSystem-70 and FlashSystem-80.
	  storage device: Flash Adapter 900GB Full Height.


	  To compile this driver as a module, choose M here: the
	  To compile this driver as a module, choose M here: the
	  module will be called rsxx.
	  module will be called rsxx.
Loading