[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1452719108.15527.23.camel@intel.com>
Date: Wed, 13 Jan 2016 21:05:07 +0000
From: "Williams, Dan J" <dan.j.williams@...el.com>
To: "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>
Subject: [GIT PULL] libnvdimm for 4.5
Hi Linus, please pull from...
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.5
...to receive the libnvdimm update for 4.5.
The bulk of this has appeared in -next and independently received a
build success notification from the kbuild robot. The 'for-4.5/block-
dax' topic branch was rebased over the weekend to drop the "block
device end-of-life" rework that Al would like to see re-implemented
with a notifier, and to address bug reports against the badblocks
integration.
There is pending feedback against "libnvdimm: Add a poison list and
export badblocks" received last week. Linda identified some localized
fixups that we will handle incrementally.
This update has a minor conflict with the dax updates pending in -mm,
but only for both sides wanting to add a new header-file-include to
drivers/nvdimm/pmem.c.
---
The following changes since commit 9f9499ae8e6415cefc4fe0a96ad0e27864353c89:
Linux 4.4-rc5 (2015-12-13 17:42:58 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.5
for you to fetch changes up to 8b63b6bfc1a551acf154061699028c7032d7890c:
Merge branch 'for-4.5/block-dax' into for-4.5/libnvdimm (2016-01-10 07:53:55 -0800)
----------------------------------------------------------------
libnvdimm for 4.5
1/ Media error handling: The 'badblocks' implementation that originated
in md-raid is up-levelled to a generic capability of a block device.
This initial implementation is limited to being consulted in the pmem
block-i/o path. Later, 'badblocks' will be consulted when creating
dax mappings.
2/ Raw block device dax: For virtualization and other cases that want
large contiguous mappings of persistent memory, add the capability to
dax-mmap a block device directly.
3/ Increased /dev/mem restrictions: Add an option to treat all io-memory
as IORESOURCE_EXCLUSIVE, i.e. disable /dev/mem access while a driver is
actively using an address range. This behavior is controlled via the
new CONFIG_IO_STRICT_DEVMEM option and can be overridden by the
existing "iomem=relaxed" kernel command line option.
4/ Miscellaneous fixes include a 'pfn'-device huge page alignment fix,
block device shutdown crash fix, and other small libnvdimm fixes.
----------------------------------------------------------------
Dan Williams (27):
libnvdimm, pfn: kill ND_PFN_ALIGN
libnvdimm, pfn: clean up pfn create parameters
libnvdimm, pfn: add 'align' attribute, default to HPAGE_SIZE
libnvdimm, pfn: add parent uuid validation
libnvdimm, pfn: fix pfn seed creation
libnvdimm, pfn: enable pfn sysfs interface unit testing
libnvdimm, pfn: fix nd_pfn_validate() return value handling
tools/testing/libnvdimm: cleanup mock resource lookup
libnvdimm, pfn: move 'memory mode' indication to sysfs
libnvdimm: fix namespace object confusion in is_uuid_busy()
arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug
restrict /dev/mem to idle io memory ranges
block: introduce bdev_file_inode()
block: enable dax for raw block devices
block: fix del_gendisk() vs blkdev_ioctl crash
nfit_test: Enable DSMs for all test NFITs
libnvdimm, pmem: move definition of nvdimm_namespace_add_poison to nd.h
badblocks: rename badblocks_free to badblocks_exit
block: clarify badblocks lifetime
block, badblocks: introduce devm_init_badblocks
libnvdimm: don't fail init for full badblocks list
libnvdimm: convert to statically allocated badblocks
pmem: fail io-requests to known bad blocks
pmem, dax: disable dax in the presence of bad blocks
libnvdimm, pmem: nvdimm_read_bytes() badblocks support
block: kill disk_{check|set|clear|alloc}_badblocks
Merge branch 'for-4.5/block-dax' into for-4.5/libnvdimm
Dmitry Krivenok (2):
nvdimm: improve diagnosibility of namespaces
nvdimm: do not show pfn_seed for non pmem regions
Vishal Verma (4):
badblocks: Add core badblock management code
block: Add badblock management for gendisks
md: convert to use the generic badblocks code
libnvdimm: Add a poison list and export badblocks
arch/arm/Kconfig | 1 +
arch/arm/Kconfig.debug | 14 -
arch/arm64/Kconfig | 1 +
arch/arm64/Kconfig.debug | 14 -
arch/frv/Kconfig | 1 +
arch/m32r/Kconfig | 1 +
arch/powerpc/Kconfig | 1 +
arch/powerpc/Kconfig.debug | 12 -
arch/s390/Kconfig | 1 +
arch/s390/Kconfig.debug | 12 -
arch/tile/Kconfig | 4 +-
arch/unicore32/Kconfig | 1 +
arch/unicore32/Kconfig.debug | 14 -
arch/x86/Kconfig | 1 +
arch/x86/Kconfig.debug | 17 --
block/Makefile | 2 +-
block/badblocks.c | 585 ++++++++++++++++++++++++++++++++++++++
block/genhd.c | 30 +-
block/ioctl.c | 71 +++++
drivers/acpi/nfit.c | 203 +++++++++++++
drivers/md/md.c | 516 ++-------------------------------
drivers/md/md.h | 40 +--
drivers/nvdimm/core.c | 169 +++++++++++
drivers/nvdimm/namespace_devs.c | 132 +++++++--
drivers/nvdimm/nd-core.h | 2 +
drivers/nvdimm/nd.h | 16 +-
drivers/nvdimm/pfn_devs.c | 93 ++++--
drivers/nvdimm/pmem.c | 90 ++++--
drivers/nvdimm/region_devs.c | 66 +----
fs/block_dev.c | 122 +++++++-
include/linux/badblocks.h | 65 +++++
include/linux/fs.h | 11 +
include/linux/genhd.h | 2 +
include/linux/libnvdimm.h | 1 +
include/uapi/linux/fs.h | 2 +
kernel/resource.c | 11 +-
lib/Kconfig.debug | 39 +++
tools/testing/nvdimm/Kbuild | 2 +
tools/testing/nvdimm/test/iomap.c | 93 +++---
tools/testing/nvdimm/test/nfit.c | 11 +
40 files changed, 1673 insertions(+), 796 deletions(-)
create mode 100644 block/badblocks.c
create mode 100644 include/linux/badblocks.h
Powered by blists - more mailing lists