aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h19
1 files changed, 1 insertions, 18 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 83d28623645f..5493a66dc710 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1923,28 +1923,12 @@ static inline bool integrity_req_gap_front_merge(struct request *req,
1923 1923
1924#endif /* CONFIG_BLK_DEV_INTEGRITY */ 1924#endif /* CONFIG_BLK_DEV_INTEGRITY */
1925 1925
1926/**
1927 * struct blk_dax_ctl - control and output parameters for ->direct_access
1928 * @sector: (input) offset relative to a block_device
1929 * @addr: (output) kernel virtual address for @sector populated by driver
1930 * @pfn: (output) page frame number for @addr populated by driver
1931 * @size: (input) number of bytes requested
1932 */
1933struct blk_dax_ctl {
1934 sector_t sector;
1935 void *addr;
1936 long size;
1937 pfn_t pfn;
1938};
1939
1940struct block_device_operations { 1926struct block_device_operations {
1941 int (*open) (struct block_device *, fmode_t); 1927 int (*open) (struct block_device *, fmode_t);
1942 void (*release) (struct gendisk *, fmode_t); 1928 void (*release) (struct gendisk *, fmode_t);
1943 int (*rw_page)(struct block_device *, sector_t, struct page *, bool); 1929 int (*rw_page)(struct block_device *, sector_t, struct page *, bool);
1944 int (*ioctl) (struct block_device *, fmode_t, unsigned, unsigned long); 1930 int (*ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
1945 int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long); 1931 int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
1946 long (*direct_access)(struct block_device *, sector_t, void **, pfn_t *,
1947 long);
1948 unsigned int (*check_events) (struct gendisk *disk, 1932 unsigned int (*check_events) (struct gendisk *disk,
1949 unsigned int clearing); 1933 unsigned int clearing);
1950 /* ->media_changed() is DEPRECATED, use ->check_events() instead */ 1934 /* ->media_changed() is DEPRECATED, use ->check_events() instead */
@@ -1963,9 +1947,8 @@ extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
1963extern int bdev_read_page(struct block_device *, sector_t, struct page *); 1947extern int bdev_read_page(struct block_device *, sector_t, struct page *);
1964extern int bdev_write_page(struct block_device *, sector_t, struct page *, 1948extern int bdev_write_page(struct block_device *, sector_t, struct page *,
1965 struct writeback_control *); 1949 struct writeback_control *);
1966extern long bdev_direct_access(struct block_device *, struct blk_dax_ctl *);
1967extern int bdev_dax_supported(struct super_block *, int); 1950extern int bdev_dax_supported(struct super_block *, int);
1968extern bool bdev_dax_capable(struct block_device *); 1951int bdev_dax_pgoff(struct block_device *, sector_t, size_t, pgoff_t *pgoff);
1969#else /* CONFIG_BLOCK */ 1952#else /* CONFIG_BLOCK */
1970 1953
1971struct block_device; 1954struct block_device;