All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philipp Reisner <philipp.reisner@linbit.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-kernel@vger.kernel.org, drbd-dev@lists.linbit.com
Subject: [Drbd-dev] [GIT PULL] drbd-8.3 updates
Date: Thu, 10 May 2012 14:19:02 +0200	[thread overview]
Message-ID: <4277851.LeAnKnANCB@fat-tyre> (raw)

Hi Jens,

This are the updates we have in the drbd-8.3 tree. They are intended
for your "for-3.5/drivers" drivers branch.

These changes include one new feature:
 * Allow detach from frozen backing devices with the new --force option;
   configurable timeout for backing devices by the new disk-timeout option

And huge number of bug fixes:
 * Fixed a write ordering problem on SyncTarget nodes for a write
   to a block that gets resynced at the same time. The bug can
   only be triggered with a device that has a firmware that
   actually reorders writes to the same block
 * Fixed a race between disconnect and receive_state, that could cause
   a IO lockup
 * Fixed resend/resubmit for requests with disk or network timeout
 * Make sure that hard state changed do not disturb the connection
   establishing process (I.e. detach due to an IO error). When the
   bug was triggered it caused a retry in the connect process
 * Postpone soft state changes to no disturb the connection
   establishing process (I.e. becoming primary). When the bug
   was triggered it could cause both nodes going into SyncSource state
 * Fixed a refcount leak that could cause failures when trying to
   unload a protocol family modules, that was used by DRBD
 * Dedicated page pool for meta data IOs
 * Deny normal detach (as opposed to --forced) if the user tries
   to detach from the last UpToDate disk in the resource
 * Fixed a possible protocol error that could be caused by
   "unusual" BIOs.
 * Enforce the disk-timeout option also on meta-data IO operations
 * Implemented stable bitmap pages when we do a full write out of
   the bitmap
 * Fixed a rare compatibility issue with DRBD's older than 8.3.7
   when negotiating the bio_size
 * Fixed a rare race condition where an empty resync could stall with
   if pause/unpause events happen in parallel
 * Made the re-establishing of connections quicker, if it got a broken pipe
   once. Previously there was a bug in the code caused it to waste the first
   successful established connection after a broken pipe event.

PS: I am postponing the drbd-8.4 for mainline for one or two kernel
    development cycles more (the ~400 patchets set).

Best regards,
 Philipp

The following changes since commit 0b7877d4eea3f93e3dd941999522bbd8c538cb53:

  Merge tag 'v3.4-rc5' into for-3.5/core (2012-05-01 14:29:55 +0200)

are available in the git repository at:

  git@git.drbd.org:linux-drbd for-jens

Andreas Gruenbacher (1):
      drbd: drbd_nl_resize(): Fix missing put_ldev() on error path

Arne Redlich (1):
      drbd: bm_page_async_io: properly initialize page->private

Cong Wang (1):
      drbd: check MODULE for THIS_MODULE

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

Lars Ellenberg (31):
      drbd: cosmetic: fix accidental division instead of modulo when pretty printing
      drbd: spelling fix: too small
      drbd: allow ping-timeout of up to 30 seconds
      drbd: downgraded error printk to info
      drbd: change some GFP_KERNEL to GFP_NOIO
      drbd: fix "stalled" empty resync
      drbd: fix harmless race to not trigger an ASSERT
      drbd: fix spurious meta data IO "error"
      drbd: send intermediate state change results to the peer
      drbd: fix potential spinlock deadlock
      drbd: fix race between disconnect and receive_state
      drbd: Fix module refcount leak in drbd_accept()
      drbd: add missing part_round_stats to _drbd_start_io_acct
      drbd: fix potential data corruption and protocol error
      drbd: remove now unused seq_num member from struct drbd_request
      drbd: missing wakeup after drbd_rs_del_all
      drbd: remove some very outdated comments
      drbd: remove unused static helper function
      drbd: don't pretend that barrier_nr == 0 was special
      drbd: make OOS_HANDED_TO_NETWORK its own case
      drbd: fix READ_RETRY_REMOTE_CANCELED to not complete if device is suspended
      drbd: fix WRITE_ACKED_BY_PEER_AND_SIS to not set RQ_NET_DONE
      drbd: move put_ldev from __req_mod() to the endio callback
      drbd: fix resend/resubmit of frozen IO
      drbd: fix race between drbdadm invalidate/verify and finishing resync
      drbd: allow bitmap to change during writeout from resync_finished
      drbd: add page pool to be used for meta data IO
      drbd: use the newly introduced page pool for bitmap IO
      drbd: remove unused define
      drbd: introduce a bio_set to allocate housekeeping bios from
      drbd: grammar fix in log message

Philipp Reisner (30):
      drbd: Lower log priority for an event that is definitely not an error
      drbd: Only print sanitize state's warnings, if the state change happens
      drbd: Improve compatibility with drbd's older than 8.3.7
      drbd: Keep a reference to barrier acked requests
      drbd: Immediately allow completion of IOs, that wait for IO completions on a failed disk
      drbd: moved md_io into mdev
      drbd: Replaced md_io_mutex by an atomic: md_io_in_use
      drbd: Implemented wait_until_done_or_disk_failure()
      drbd: Keep a reference to the bio until the completion handler finished
      drbd: Hold a reference to ldev while doing meta-data IO
      drbd: Added a kref to bm_aio_ctx
      drbd: Bitmap IO functions can now return prematurely if the disk breaks
      drbd: Allow new IOs while the local disk in in FAILED state
      drbd: Force flag for the detach operation
      drbd: Implemented the disk-timeout option
      drbd: Fixed current UUID generation
      drbd: Consider that the no-data-condition could be in connected state
      drbd: detach must not try to abort non-local requests from drbd-8.4
      drbd: Cleanup all epoch objects upon connection loss
      drbd: Bugfix for the connection behavior
      drbd: Derive sync-UUIDs only from the bitmap-uuid if it is non-zero
      drbd: Fixed a race condition between detach and start of resync
      drbd: Fixed an obvious copy-n-paste mistake
      drbd: Do not send state packets while lower than C_CONNECTED cstate
      drbd: Consider the disk-timeout also for meta-data IO operations
      drbd: Fix a potential race that could case data inconsistency
      drbd: Fix a potential write ordering issue on SyncTarget nodes
      drbd: Delay/reject other state changes while establishing a connection
      drbd: Ensure that data_size is not 0 before using data_size-1 as index
      drbd: Restore the request restart logic

 drivers/block/drbd/drbd_actlog.c   |  104 ++++++++---
 drivers/block/drbd/drbd_bitmap.c   |  146 +++++++++++----
 drivers/block/drbd/drbd_int.h      |   90 ++++++----
 drivers/block/drbd/drbd_main.c     |  357 +++++++++++++++++++++++++++---------
 drivers/block/drbd/drbd_nl.c       |   48 ++++-
 drivers/block/drbd/drbd_proc.c     |    2 +-
 drivers/block/drbd/drbd_receiver.c |   95 ++++++++---
 drivers/block/drbd/drbd_req.c      |  132 +++++++++-----
 drivers/block/drbd/drbd_req.h      |   19 ++-
 drivers/block/drbd/drbd_worker.c   |   31 +++-
 include/linux/drbd.h               |    6 +-
 include/linux/drbd_limits.h        |    7 +-
 include/linux/drbd_nl.h            |    5 +-
 13 files changed, 754 insertions(+), 288 deletions(-)

-- 
: Dipl-Ing Philipp Reisner
: LINBIT | Your Way to High Availability
: Tel: +43-1-8178292-50, Fax: +43-1-8178292-82
: http://www.linbit.com

DRBD(R) and LINBIT(R) are registered trademarks of LINBIT, Austria.


WARNING: multiple messages have this Message-ID (diff)
From: Philipp Reisner <philipp.reisner@linbit.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-kernel@vger.kernel.org, drbd-dev@lists.linbit.com
Subject: [GIT PULL] drbd-8.3 updates
Date: Thu, 10 May 2012 14:19:02 +0200	[thread overview]
Message-ID: <4277851.LeAnKnANCB@fat-tyre> (raw)

Hi Jens,

This are the updates we have in the drbd-8.3 tree. They are intended
for your "for-3.5/drivers" drivers branch.

These changes include one new feature:
 * Allow detach from frozen backing devices with the new --force option;
   configurable timeout for backing devices by the new disk-timeout option

And huge number of bug fixes:
 * Fixed a write ordering problem on SyncTarget nodes for a write
   to a block that gets resynced at the same time. The bug can
   only be triggered with a device that has a firmware that
   actually reorders writes to the same block
 * Fixed a race between disconnect and receive_state, that could cause
   a IO lockup
 * Fixed resend/resubmit for requests with disk or network timeout
 * Make sure that hard state changed do not disturb the connection
   establishing process (I.e. detach due to an IO error). When the
   bug was triggered it caused a retry in the connect process
 * Postpone soft state changes to no disturb the connection
   establishing process (I.e. becoming primary). When the bug
   was triggered it could cause both nodes going into SyncSource state
 * Fixed a refcount leak that could cause failures when trying to
   unload a protocol family modules, that was used by DRBD
 * Dedicated page pool for meta data IOs
 * Deny normal detach (as opposed to --forced) if the user tries
   to detach from the last UpToDate disk in the resource
 * Fixed a possible protocol error that could be caused by
   "unusual" BIOs.
 * Enforce the disk-timeout option also on meta-data IO operations
 * Implemented stable bitmap pages when we do a full write out of
   the bitmap
 * Fixed a rare compatibility issue with DRBD's older than 8.3.7
   when negotiating the bio_size
 * Fixed a rare race condition where an empty resync could stall with
   if pause/unpause events happen in parallel
 * Made the re-establishing of connections quicker, if it got a broken pipe
   once. Previously there was a bug in the code caused it to waste the first
   successful established connection after a broken pipe event.

PS: I am postponing the drbd-8.4 for mainline for one or two kernel
    development cycles more (the ~400 patchets set).

Best regards,
 Philipp

The following changes since commit 0b7877d4eea3f93e3dd941999522bbd8c538cb53:

  Merge tag 'v3.4-rc5' into for-3.5/core (2012-05-01 14:29:55 +0200)

are available in the git repository at:

  git@git.drbd.org:linux-drbd for-jens

Andreas Gruenbacher (1):
      drbd: drbd_nl_resize(): Fix missing put_ldev() on error path

Arne Redlich (1):
      drbd: bm_page_async_io: properly initialize page->private

Cong Wang (1):
      drbd: check MODULE for THIS_MODULE

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

Lars Ellenberg (31):
      drbd: cosmetic: fix accidental division instead of modulo when pretty printing
      drbd: spelling fix: too small
      drbd: allow ping-timeout of up to 30 seconds
      drbd: downgraded error printk to info
      drbd: change some GFP_KERNEL to GFP_NOIO
      drbd: fix "stalled" empty resync
      drbd: fix harmless race to not trigger an ASSERT
      drbd: fix spurious meta data IO "error"
      drbd: send intermediate state change results to the peer
      drbd: fix potential spinlock deadlock
      drbd: fix race between disconnect and receive_state
      drbd: Fix module refcount leak in drbd_accept()
      drbd: add missing part_round_stats to _drbd_start_io_acct
      drbd: fix potential data corruption and protocol error
      drbd: remove now unused seq_num member from struct drbd_request
      drbd: missing wakeup after drbd_rs_del_all
      drbd: remove some very outdated comments
      drbd: remove unused static helper function
      drbd: don't pretend that barrier_nr == 0 was special
      drbd: make OOS_HANDED_TO_NETWORK its own case
      drbd: fix READ_RETRY_REMOTE_CANCELED to not complete if device is suspended
      drbd: fix WRITE_ACKED_BY_PEER_AND_SIS to not set RQ_NET_DONE
      drbd: move put_ldev from __req_mod() to the endio callback
      drbd: fix resend/resubmit of frozen IO
      drbd: fix race between drbdadm invalidate/verify and finishing resync
      drbd: allow bitmap to change during writeout from resync_finished
      drbd: add page pool to be used for meta data IO
      drbd: use the newly introduced page pool for bitmap IO
      drbd: remove unused define
      drbd: introduce a bio_set to allocate housekeeping bios from
      drbd: grammar fix in log message

Philipp Reisner (30):
      drbd: Lower log priority for an event that is definitely not an error
      drbd: Only print sanitize state's warnings, if the state change happens
      drbd: Improve compatibility with drbd's older than 8.3.7
      drbd: Keep a reference to barrier acked requests
      drbd: Immediately allow completion of IOs, that wait for IO completions on a failed disk
      drbd: moved md_io into mdev
      drbd: Replaced md_io_mutex by an atomic: md_io_in_use
      drbd: Implemented wait_until_done_or_disk_failure()
      drbd: Keep a reference to the bio until the completion handler finished
      drbd: Hold a reference to ldev while doing meta-data IO
      drbd: Added a kref to bm_aio_ctx
      drbd: Bitmap IO functions can now return prematurely if the disk breaks
      drbd: Allow new IOs while the local disk in in FAILED state
      drbd: Force flag for the detach operation
      drbd: Implemented the disk-timeout option
      drbd: Fixed current UUID generation
      drbd: Consider that the no-data-condition could be in connected state
      drbd: detach must not try to abort non-local requests from drbd-8.4
      drbd: Cleanup all epoch objects upon connection loss
      drbd: Bugfix for the connection behavior
      drbd: Derive sync-UUIDs only from the bitmap-uuid if it is non-zero
      drbd: Fixed a race condition between detach and start of resync
      drbd: Fixed an obvious copy-n-paste mistake
      drbd: Do not send state packets while lower than C_CONNECTED cstate
      drbd: Consider the disk-timeout also for meta-data IO operations
      drbd: Fix a potential race that could case data inconsistency
      drbd: Fix a potential write ordering issue on SyncTarget nodes
      drbd: Delay/reject other state changes while establishing a connection
      drbd: Ensure that data_size is not 0 before using data_size-1 as index
      drbd: Restore the request restart logic

 drivers/block/drbd/drbd_actlog.c   |  104 ++++++++---
 drivers/block/drbd/drbd_bitmap.c   |  146 +++++++++++----
 drivers/block/drbd/drbd_int.h      |   90 ++++++----
 drivers/block/drbd/drbd_main.c     |  357 +++++++++++++++++++++++++++---------
 drivers/block/drbd/drbd_nl.c       |   48 ++++-
 drivers/block/drbd/drbd_proc.c     |    2 +-
 drivers/block/drbd/drbd_receiver.c |   95 ++++++++---
 drivers/block/drbd/drbd_req.c      |  132 +++++++++-----
 drivers/block/drbd/drbd_req.h      |   19 ++-
 drivers/block/drbd/drbd_worker.c   |   31 +++-
 include/linux/drbd.h               |    6 +-
 include/linux/drbd_limits.h        |    7 +-
 include/linux/drbd_nl.h            |    5 +-
 13 files changed, 754 insertions(+), 288 deletions(-)

-- 
: Dipl-Ing Philipp Reisner
: LINBIT | Your Way to High Availability
: Tel: +43-1-8178292-50, Fax: +43-1-8178292-82
: http://www.linbit.com

DRBD(R) and LINBIT(R) are registered trademarks of LINBIT, Austria.


             reply	other threads:[~2012-05-10 12:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-10 12:19 Philipp Reisner [this message]
2012-05-10 12:19 ` [GIT PULL] drbd-8.3 updates Philipp Reisner
2012-05-16  6:45 ` [Drbd-dev] " Robert Kim App and Facebook Marketing
2012-05-18 14:22 ` Jens Axboe
2012-05-18 14:22   ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2012-10-02 13:02 [Drbd-dev] " Philipp Reisner
2012-10-03  6:44 ` Jens Axboe
2012-10-03  9:24   ` Philipp Reisner
2012-10-03 10:07     ` Philipp Reisner
2012-10-03 12:49       ` Jens Axboe
2012-10-03 13:49         ` Philipp Reisner
2012-10-03 14:04           ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4277851.LeAnKnANCB@fat-tyre \
    --to=philipp.reisner@linbit.com \
    --cc=axboe@kernel.dk \
    --cc=drbd-dev@lists.linbit.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.