From: Neil Brown <neil@brown.name>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Goldwyn Rodrigues <rgoldwyn@suse.com>
Cc: Guoqing Jiang <gqjiang@suse.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Song Liu <songliubraving@fb.com>
Cc: kbuild test robot <fengguang.wu@intel.com>
Cc: LKML <linux-kernel@vger.kernel.org>, linux-raid@vger.kernel.org
Subject: [GIT PULL REQUEST] md updates for 4.4
Date: Mon, 02 Nov 2015 13:37:39 +1100 [thread overview]
Message-ID: <87bnbdjfd8.fsf@notabene.neil.brown.name> (raw)
[-- Attachment #1: Type: text/plain, Size: 5770 bytes --]
The following changes since commit 25cb62b76430a91cc6195f902e61c2cb84ade622:
Linux 4.3-rc5 (2015-10-11 11:09:45 -0700)
are available in the git repository at:
git://neil.brown.name/md tags/md/4.4
for you to fetch changes up to 339421def582abb14c2217aa8c8f28bb2e299174:
MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW (2015-11-01 13:48:29 +1100)
----------------------------------------------------------------
md updates for 4.4.
Two major components to this update.
1/ the clustered-raid1 support from SUSE is nearly
complete. There are a few outstanding issues being
worked on. Maybe half a dozen patches will bring
this to a usable state.
2/ The first stage of journalled-raid5 support from
Facebook makes an appearance. With a journal
device configured (typically NVRAM or SSD), the
"RAID5 write hole" should be closed - a crash
during degraded operations cannot result in data
corruption.
The next stage will be to use the journal as a
write-behind cache so that latency can be reduced
and in some cases throughput increased by
performing more full-stripe writes.
----------------------------------------------------------------
Christoph Hellwig (12):
raid5-cache: move functionality out of __r5l_set_io_unit_state
raid5-cache: free I/O units earlier
raid5-cache: rename flushed_ios to finished_ios
raid5-cache: factor out a helper to run all stripes for an I/O unit
raid5-cache: simplify state machine when caches flushes are not needed
raid5-cache: clean up r5l_get_meta
raid5-cache: refactor bio allocation
raid5-cache: take rdev->data_offset into account early on
raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta
raid5-cache: new helper: r5_reserve_log_entry
raid5-cache: small log->seq cleanup
raid5-cache: use bio chaining
Goldwyn Rodrigues (11):
md-cluster: complete all write requests before adding suspend_info
md: Increment version for clustered bitmaps
md-cluster: Use a small window for resync
md-cluster: Wake up suspended process
md: remove_and_add_spares() to activate specific rdev
md-cluster: Improve md_reload_sb to be less error prone
md-cluster: Perform a lazy update
md-cluster: Perform resync/recovery under a DLM lock
md-cluster: Fix adding of new disk with new reload code
md-cluster: Do not printk() every received message
md-cluster: Call update_raid_disks() if another node --grow's raid_disks
Guoqing Jiang (9):
md-cluster: send BITMAP_NEEDS_SYNC when node is leaving cluster
md-cluster: make other members of cluster_msg is handled by little endian funcs
md-cluster: remove unnecessary setting for slot
md-cluster: make sure the node do not receive it's own msg
md-cluster: zero cmsg before it was sent
md-cluster: Add 'SUSE' as author for md-cluster.c
md-cluster: only call kick_rdev_from_array after remove disk successfully
md: check the return value for metadata_update_start
md-cluster: Fix warnings when build with CF=-D__CHECK_ENDIAN__
NeilBrown (5):
Merge branch 'md-next' of git://github.com/goldwynr/linux into for-next
md-cluster: metadata_update_finish: consistently use cmsg.raid_slot as le32
md-cluster: discard unused sb_mutex.
md-cluster: don't cast void pointers when assigning them.
md-cluster: remove mddev arg from add_resync_info()
Shaohua Li (24):
md: override md superblock recovery_offset for journal device
raid5: export some functions
raid5: add a new state for stripe log handling
raid5: add basic stripe log
raid5: log reclaim support
raid5: log recovery
raid5-cache: use crc32c checksum
raid5: disable batch with log enabled
raid5: don't allow resize/reshape with cache(log) support
raid5: enable log for raid array with cache disk
raid5-cache: switching to state machine for log disk cache flush
raid5-cache: fix a user-after-free bug
raid5-cache: optimize FLUSH IO with log enabled
md: skip resync for raid array with journal
raid5-cache: check stripe finish out of order
raid5-cache: don't delay stripe captured in log
md: show journal for journal disk in disk state sysfs
raid5-cache: move reclaim stop to quiesce
MD: fix info output for journal disk
raid5-cache: add trim support for log
raid5: journal disk can't be removed
raid5-cache: IO error handling
raid5-cache: start raid5 readonly if journal is missing
MD: set journal disk ->raid_disk
Song Liu (6):
MD: replace special disk roles with macros
MD: add a new disk role to present write journal device
skip match_mddev_units check for special roles
MD: add new bit to indicate raid array with journal
MD: kick out journal disk if it's not fresh
MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW
drivers/md/Makefile | 2 +-
drivers/md/bitmap.c | 14 +-
drivers/md/bitmap.h | 4 +-
drivers/md/md-cluster.c | 228 ++++----
drivers/md/md-cluster.h | 12 +-
drivers/md/md.c | 495 ++++++++++++-----
drivers/md/md.h | 17 +-
drivers/md/raid1.c | 41 +-
drivers/md/raid1.h | 7 +
drivers/md/raid10.c | 2 +-
drivers/md/raid5-cache.c | 1191 ++++++++++++++++++++++++++++++++++++++++
drivers/md/raid5.c | 189 +++++--
drivers/md/raid5.h | 24 +
include/uapi/linux/raid/md_p.h | 73 ++-
14 files changed, 1989 insertions(+), 310 deletions(-)
create mode 100644 drivers/md/raid5-cache.c
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
reply other threads:[~2015-11-02 2:37 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=87bnbdjfd8.fsf@notabene.neil.brown.name \
--to=neil@brown.name \
--cc=bart.vanassche@sandisk.com \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox