diff options
author | Dan Williams <dan.j.williams@intel.com> | 2016-05-07 14:40:28 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2016-05-21 01:02:56 -0400 |
commit | acc93d30d7d43f428272c20a047389c4cbca82ba (patch) | |
tree | e13ee3ce79c671c3a148818631e40c1c320dbed2 /block/ioctl.c | |
parent | dee410792419aaa8bc3e3b35d2ccb6515835916d (diff) |
Revert "block: enable dax for raw block devices"
This reverts commit 5a023cdba50c5f5f2bc351783b3131699deb3937.
The functionality is superseded by the new "Device DAX" facility.
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Jan Kara <jack@suse.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'block/ioctl.c')
-rw-r--r-- | block/ioctl.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/block/ioctl.c b/block/ioctl.c index 4ff1f92f89ca..698c7933d582 100644 --- a/block/ioctl.c +++ b/block/ioctl.c | |||
@@ -407,35 +407,6 @@ static inline int is_unrecognized_ioctl(int ret) | |||
407 | ret == -ENOIOCTLCMD; | 407 | ret == -ENOIOCTLCMD; |
408 | } | 408 | } |
409 | 409 | ||
410 | #ifdef CONFIG_FS_DAX | ||
411 | bool blkdev_dax_capable(struct block_device *bdev) | ||
412 | { | ||
413 | struct gendisk *disk = bdev->bd_disk; | ||
414 | |||
415 | if (!disk->fops->direct_access) | ||
416 | return false; | ||
417 | |||
418 | /* | ||
419 | * If the partition is not aligned on a page boundary, we can't | ||
420 | * do dax I/O to it. | ||
421 | */ | ||
422 | if ((bdev->bd_part->start_sect % (PAGE_SIZE / 512)) | ||
423 | || (bdev->bd_part->nr_sects % (PAGE_SIZE / 512))) | ||
424 | return false; | ||
425 | |||
426 | /* | ||
427 | * If the device has known bad blocks, force all I/O through the | ||
428 | * driver / page cache. | ||
429 | * | ||
430 | * TODO: support finer grained dax error handling | ||
431 | */ | ||
432 | if (disk->bb && disk->bb->count) | ||
433 | return false; | ||
434 | |||
435 | return true; | ||
436 | } | ||
437 | #endif | ||
438 | |||
439 | static int blkdev_flushbuf(struct block_device *bdev, fmode_t mode, | 410 | static int blkdev_flushbuf(struct block_device *bdev, fmode_t mode, |
440 | unsigned cmd, unsigned long arg) | 411 | unsigned cmd, unsigned long arg) |
441 | { | 412 | { |
@@ -598,9 +569,6 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, | |||
598 | case BLKTRACESETUP: | 569 | case BLKTRACESETUP: |
599 | case BLKTRACETEARDOWN: | 570 | case BLKTRACETEARDOWN: |
600 | return blk_trace_ioctl(bdev, cmd, argp); | 571 | return blk_trace_ioctl(bdev, cmd, argp); |
601 | case BLKDAXGET: | ||
602 | return put_int(arg, !!(bdev->bd_inode->i_flags & S_DAX)); | ||
603 | break; | ||
604 | case IOC_PR_REGISTER: | 572 | case IOC_PR_REGISTER: |
605 | return blkdev_pr_register(bdev, argp); | 573 | return blkdev_pr_register(bdev, argp); |
606 | case IOC_PR_RESERVE: | 574 | case IOC_PR_RESERVE: |