|
@@ -1916,28 +1916,12 @@ static inline bool integrity_req_gap_front_merge(struct request *req,
|
|
|
|
|
|
#endif /* CONFIG_BLK_DEV_INTEGRITY */
|
|
|
|
|
|
-/**
|
|
|
- * struct blk_dax_ctl - control and output parameters for ->direct_access
|
|
|
- * @sector: (input) offset relative to a block_device
|
|
|
- * @addr: (output) kernel virtual address for @sector populated by driver
|
|
|
- * @pfn: (output) page frame number for @addr populated by driver
|
|
|
- * @size: (input) number of bytes requested
|
|
|
- */
|
|
|
-struct blk_dax_ctl {
|
|
|
- sector_t sector;
|
|
|
- void *addr;
|
|
|
- long size;
|
|
|
- pfn_t pfn;
|
|
|
-};
|
|
|
-
|
|
|
struct block_device_operations {
|
|
|
int (*open) (struct block_device *, fmode_t);
|
|
|
void (*release) (struct gendisk *, fmode_t);
|
|
|
int (*rw_page)(struct block_device *, sector_t, struct page *, bool);
|
|
|
int (*ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
|
|
|
int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
|
|
|
- long (*direct_access)(struct block_device *, sector_t, void **, pfn_t *,
|
|
|
- long);
|
|
|
unsigned int (*check_events) (struct gendisk *disk,
|
|
|
unsigned int clearing);
|
|
|
/* ->media_changed() is DEPRECATED, use ->check_events() instead */
|
|
@@ -1956,7 +1940,6 @@ extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
|
|
|
extern int bdev_read_page(struct block_device *, sector_t, struct page *);
|
|
|
extern int bdev_write_page(struct block_device *, sector_t, struct page *,
|
|
|
struct writeback_control *);
|
|
|
-extern long bdev_direct_access(struct block_device *, struct blk_dax_ctl *);
|
|
|
extern int bdev_dax_supported(struct super_block *, int);
|
|
|
int bdev_dax_pgoff(struct block_device *, sector_t, size_t, pgoff_t *pgoff);
|
|
|
#else /* CONFIG_BLOCK */
|