Commit 08f85851 authored by Al Viro's avatar Al Viro

[PATCH] move block_device_operations to blkdev.h

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 647b3d00
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <linux/buffer_head.h> #include <linux/buffer_head.h>
#include <linux/ext2_fs_sb.h> #include <linux/ext2_fs_sb.h>
#include <linux/ext2_fs.h> #include <linux/ext2_fs.h>
#include <linux/blkdev.h>
#include "ext2.h" #include "ext2.h"
#include "xip.h" #include "xip.h"
......
...@@ -1057,6 +1057,23 @@ static inline int blk_integrity_rq(struct request *rq) ...@@ -1057,6 +1057,23 @@ static inline int blk_integrity_rq(struct request *rq)
#endif /* CONFIG_BLK_DEV_INTEGRITY */ #endif /* CONFIG_BLK_DEV_INTEGRITY */
struct file;
struct inode;
struct block_device_operations {
int (*open) (struct inode *, struct file *);
int (*release) (struct inode *, struct file *);
int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);
long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);
long (*compat_ioctl) (struct file *, unsigned, unsigned long);
int (*direct_access) (struct block_device *, sector_t,
void **, unsigned long *);
int (*media_changed) (struct gendisk *);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
struct module *owner;
};
#else /* CONFIG_BLOCK */ #else /* CONFIG_BLOCK */
/* /*
* stubs for when the block layer is configured out * stubs for when the block layer is configured out
......
...@@ -1270,20 +1270,7 @@ int generic_osync_inode(struct inode *, struct address_space *, int); ...@@ -1270,20 +1270,7 @@ int generic_osync_inode(struct inode *, struct address_space *, int);
* to have different dirent layouts depending on the binary type. * to have different dirent layouts depending on the binary type.
*/ */
typedef int (*filldir_t)(void *, const char *, int, loff_t, u64, unsigned); typedef int (*filldir_t)(void *, const char *, int, loff_t, u64, unsigned);
struct block_device_operations;
struct block_device_operations {
int (*open) (struct inode *, struct file *);
int (*release) (struct inode *, struct file *);
int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);
long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);
long (*compat_ioctl) (struct file *, unsigned, unsigned long);
int (*direct_access) (struct block_device *, sector_t,
void **, unsigned long *);
int (*media_changed) (struct gendisk *);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
struct module *owner;
};
/* These macros are for out of kernel modules to test that /* These macros are for out of kernel modules to test that
* the kernel supports the unlocked_ioctl and compat_ioctl * the kernel supports the unlocked_ioctl and compat_ioctl
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment