diff options
author | Dan Williams <dan.j.williams@intel.com> | 2017-01-27 23:13:15 +0100 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2017-04-25 22:20:46 +0200 |
commit | a41fe02b6bba853a29c864d00fd161bbe6cfc715 (patch) | |
tree | 7060e9ed2234c8b6b2cc99523f18ed66bddba33a /block/partition-generic.c | |
parent | ext2, ext4, xfs: retrieve dax_device for iomap operations (diff) | |
download | linux-a41fe02b6bba853a29c864d00fd161bbe6cfc715.tar.xz linux-a41fe02b6bba853a29c864d00fd161bbe6cfc715.zip |
Revert "block: use DAX for partition table reads"
commit d1a5f2b4d8a1 ("block: use DAX for partition table reads") was
part of a stalled effort to allow dax mappings of block devices. Since
then the device-dax mechanism has filled the role of dax-mapping static
device ranges.
Now that we are moving ->direct_access() from a block_device operation
to a dax_inode operation we would need block devices to map and carry
their own dax_inode reference.
Unless / until we decide to revive dax mapping of raw block devices
through the dax_inode scheme, there is no need to carry
read_dax_sector(). Its removal in turn allows for the removal of
bdev_direct_access() and should have been included in commit
223757016837 ("block_dev: remove DAX leftovers").
Cc: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'block/partition-generic.c')
-rw-r--r-- | block/partition-generic.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/block/partition-generic.c b/block/partition-generic.c index 7afb9907821f..5dfac337b0f2 100644 --- a/block/partition-generic.c +++ b/block/partition-generic.c @@ -16,7 +16,6 @@ #include <linux/kmod.h> #include <linux/ctype.h> #include <linux/genhd.h> -#include <linux/dax.h> #include <linux/blktrace_api.h> #include "partitions/check.h" @@ -631,24 +630,12 @@ int invalidate_partitions(struct gendisk *disk, struct block_device *bdev) return 0; } -static struct page *read_pagecache_sector(struct block_device *bdev, sector_t n) -{ - struct address_space *mapping = bdev->bd_inode->i_mapping; - - return read_mapping_page(mapping, (pgoff_t)(n >> (PAGE_SHIFT-9)), - NULL); -} - unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p) { + struct address_space *mapping = bdev->bd_inode->i_mapping; struct page *page; - /* don't populate page cache for dax capable devices */ - if (IS_DAX(bdev->bd_inode)) - page = read_dax_sector(bdev, n); - else - page = read_pagecache_sector(bdev, n); - + page = read_mapping_page(mapping, (pgoff_t)(n >> (PAGE_SHIFT-9)), NULL); if (!IS_ERR(page)) { if (PageError(page)) goto fail; |