[PATCH] move block_device_operations to blkdev.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
647b3d0084
Коммит
08f8585121
|
@ -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)
|
||||||
|
|
||||||
#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);
|
||||||
* 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
|
||||||
|
|
Загрузка…
Ссылка в новой задаче