[Drbd-dev] [GIT PULL] drbd-8.4.2 for the linux-3.8 merge window

Philipp Reisner philipp.reisner at linbit.com
Fri Nov 9 12:36:39 CET 2012


Hi Jens,

Please pull drbd-8.4.2 into your for-3.8/drivers branch.

The most noticeable change is the support for multiple replicated
volumes in a single DRBD connection.

This release requires new drbd userland tools >= 8.4.0 (available
since July 2011).
8.4.x is network protocol compatible with all previous releaes.
This release brings a new meta-data format. Forward (8.3 -> 8.4)
conversion happens complete seamless. Backward conversion
is done by a single command (drbdadm apply-al res).

The "recent changes" chapter of our user's guide describes all
changes in detail:
http://www.drbd.org/users-guide/ap-recent-changes.html

Changelog

8.4.2 (api:genl1/proto:86-100)
--------
 * Go into inconsistent disk state with on-io-error=pass-on policy
 * Timeouts for requests processing on the peer (previously that
   worked only if the data socket was congested)
 * Conflicting write detection is now based on an interval tree,
   removed the hash-tables (necessary for the unlimited BIO sizes)
 * Support for multiple volumes (minors, block devices) per connection;
   up to 65536 volumes per connection supported
 * Reduced IO latencies during some state changes (esp. start resync)
 * New on disk format for the AL: double capacity; 4k aligned IO; same space
 * Multiple AL changes in a single transaction (precondition for
   unlimited BIO sizes)
 * DRBD no longer imposes any limit on BIO sizes
 * Removed DRBD's limits on the number of minor devices
 * DRBD's minors can now be removed (not only unconfigured)
 * Switched the user space interface form connector to generic netlink
 * The wire-protocol is now a regular connection option, which can be
   changed while the device is online
 * IO freezing/thawing is done on connection (all volumes) level
 * fencing is done on connection (all volumes) level
 * Enforce application of activity log after primary crash in user space
 * New default values (compared to drbd-8.3) for: minor-count, ko-count, al-extents,
   c-plan-ahead, c-fill-target, c-min-rate, use-rle, on-io-error
 * Optional load balancing for read requests: new keyword "read-balance"
 * New option 'al-updates no' to disable writing transactions into the
   activity log. It is use full if you prefer a full sync after a primary
   crash, for improved performance of a spread out random write work load
 * Expose the data generation identifies via sysfs


Jens, regarding the code:

It has the sysfs bits in again. The reason for that is that we want to
expose more information by that, and remove the /proc/drbd with the
next evolutionary step. -- In case this is a show stopper, let me
remove the sysfs bits.


Here is the git-pull-request test: 
(The patch subjects removed to make the mail more digestible)

The following changes since commit ccae7868b0c5697508a541c531cf96b361d62c1c:

  drbd: log request sector offset and size for IO errors (2012-10-30 08:39:18 +0100)

are available in the git repository at:

  git://git.drbd.org/linux-drbd.git for-jens_drbd-8.4.2

for you to fetch changes up to e877f7fdc0b1052b0e881e61f9290268eb21aa2f:

  drbd: use copy_highpage (2012-11-09 12:06:44 +0100)

----------------------------------------------------------------
Akinobu Mita (1):
      drbd: use copy_highpage

Andreas Gruenbacher (210):
      drbd: Get rid of req_validator_fn typedef
	[...]

David Howells (1):
      DRBD: Fix comparison always false warning due to long/long long compare

Jing Wang (1):
      drbd: check return of kmalloc in receive_uuids

Lars Ellenberg (138):
      drbd: simplify condition in drbd_may_do_local_read()
	[...]

Philipp Marek (1):
      drbd: pass some more information to userspace.

Philipp Reisner (234):
      idr: idr_for_each_entry() macro
	[...]

 drivers/block/drbd/Makefile        |    2 +
 drivers/block/drbd/drbd_actlog.c   |  689 +++----
 drivers/block/drbd/drbd_bitmap.c   |  227 ++-
 drivers/block/drbd/drbd_int.h      | 1399 ++++++-------
 drivers/block/drbd/drbd_interval.c |  207 ++
 drivers/block/drbd/drbd_interval.h |   40 +
 drivers/block/drbd/drbd_main.c     | 3918 ++++++++++++++----------------------
 drivers/block/drbd/drbd_nl.c       | 3391 ++++++++++++++++++-------------
 drivers/block/drbd/drbd_nla.c      |   55 +
 drivers/block/drbd/drbd_nla.h      |    8 +
 drivers/block/drbd/drbd_proc.c     |   33 +-
 drivers/block/drbd/drbd_receiver.c | 3883 ++++++++++++++++++++---------------
 drivers/block/drbd/drbd_req.c      | 1569 +++++++--------
 drivers/block/drbd/drbd_req.h      |  187 +-
 drivers/block/drbd/drbd_state.c    | 1857 +++++++++++++++++
 drivers/block/drbd/drbd_state.h    |  161 ++
 drivers/block/drbd/drbd_strings.c  |    1 +
 drivers/block/drbd/drbd_sysfs.c    |   86 +
 drivers/block/drbd/drbd_worker.c   | 1168 ++++++-----
 drivers/block/drbd/drbd_wrappers.h |   11 +-
 include/linux/drbd.h               |   81 +-
 include/linux/drbd_genl.h          |  378 ++++
 include/linux/drbd_genl_api.h      |   55 +
 include/linux/drbd_limits.h        |   90 +-
 include/linux/drbd_nl.h            |  164 --
 include/linux/drbd_tag_magic.h     |   84 -
 include/linux/genl_magic_func.h    |  422 ++++
 include/linux/genl_magic_struct.h  |  277 +++
 include/linux/idr.h                |   11 +
 include/linux/lru_cache.h          |   67 +-
 lib/lru_cache.c                    |  359 ++--
 31 files changed, 12238 insertions(+), 8642 deletions(-)
 create mode 100644 drivers/block/drbd/drbd_interval.c
 create mode 100644 drivers/block/drbd/drbd_interval.h
 create mode 100644 drivers/block/drbd/drbd_nla.c
 create mode 100644 drivers/block/drbd/drbd_nla.h
 create mode 100644 drivers/block/drbd/drbd_state.c
 create mode 100644 drivers/block/drbd/drbd_state.h
 create mode 100644 drivers/block/drbd/drbd_sysfs.c
 create mode 100644 include/linux/drbd_genl.h
 create mode 100644 include/linux/drbd_genl_api.h
 delete mode 100644 include/linux/drbd_nl.h
 delete mode 100644 include/linux/drbd_tag_magic.h
 create mode 100644 include/linux/genl_magic_func.h
 create mode 100644 include/linux/genl_magic_struct.h

Best regards,
 Philipp


More information about the drbd-dev mailing list