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 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 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 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:
  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/sdc > /sys/fs/bcache/register

To register your bcache devices automatically, you could add something like
this to an init script:
Registering the backing device makes the bcache device show up in /dev; you can
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
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.
As well as (with udev):

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

To get started:

  mkfs.ext4 /dev/bcache0
  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
but will allow for mirroring of metadata and dirty data in the future. Your new
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
/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
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.

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:

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

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

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

SYSFS - CACHE SET:

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

average_key_size
  Average data per key in the btree.

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

SYSFS - CACHE DEVICE:

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

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

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

BCACHE (BLOCK LAYER CACHE)
M:	Kent Overstreet <koverstreet@google.com>
M:	Kent Overstreet <kmo@daterainc.com>
L:	linux-bcache@vger.kernel.org
W:	http://bcache.evilpiepirate.org
S:	Maintained:
@@ -3346,7 +3346,7 @@ F: Documentation/firmware_class/
F:	drivers/base/firmware*.c
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:	Philip Kelleher <pjk1939@linux.vnet.ibm.com>
S:	Maintained
+2 −2
Original line number Diff line number Diff line
@@ -532,11 +532,11 @@ config BLK_DEV_RBD
	  If unsure, say N.

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
	help
	  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
	  module will be called rsxx.
Loading