···1057105710581058#endif /* CONFIG_BLK_DEV_INTEGRITY */1059105910601060+struct file;10611061+struct inode;10621062+10631063+struct block_device_operations {10641064+ int (*open) (struct inode *, struct file *);10651065+ int (*release) (struct inode *, struct file *);10661066+ int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);10671067+ long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);10681068+ long (*compat_ioctl) (struct file *, unsigned, unsigned long);10691069+ int (*direct_access) (struct block_device *, sector_t,10701070+ void **, unsigned long *);10711071+ int (*media_changed) (struct gendisk *);10721072+ int (*revalidate_disk) (struct gendisk *);10731073+ int (*getgeo)(struct block_device *, struct hd_geometry *);10741074+ struct module *owner;10751075+};10761076+10601077#else /* CONFIG_BLOCK */10611078/*10621079 * stubs for when the block layer is configured out
+1-14
include/linux/fs.h
···12701270 * to have different dirent layouts depending on the binary type.12711271 */12721272typedef int (*filldir_t)(void *, const char *, int, loff_t, u64, unsigned);12731273-12741274-struct block_device_operations {12751275- int (*open) (struct inode *, struct file *);12761276- int (*release) (struct inode *, struct file *);12771277- int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);12781278- long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);12791279- long (*compat_ioctl) (struct file *, unsigned, unsigned long);12801280- int (*direct_access) (struct block_device *, sector_t,12811281- void **, unsigned long *);12821282- int (*media_changed) (struct gendisk *);12831283- int (*revalidate_disk) (struct gendisk *);12841284- int (*getgeo)(struct block_device *, struct hd_geometry *);12851285- struct module *owner;12861286-};12731273+struct block_device_operations;1287127412881275/* These macros are for out of kernel modules to test that12891276 * the kernel supports the unlocked_ioctl and compat_ioctl