Lines Matching refs:bdev_file

58 struct block_device *file_bdev(struct file *bdev_file)  in file_bdev()  argument
60 return I_BDEV(bdev_file->f_mapping->host); in file_bdev()
886 static inline bool bdev_unclaimed(const struct file *bdev_file) in bdev_unclaimed() argument
888 return bdev_file->private_data == BDEV_I(bdev_file->f_mapping->host); in bdev_unclaimed()
891 static void bdev_yield_write_access(struct file *bdev_file) in bdev_yield_write_access() argument
898 if (bdev_unclaimed(bdev_file)) in bdev_yield_write_access()
901 bdev = file_bdev(bdev_file); in bdev_yield_write_access()
903 if (bdev_file->f_mode & FMODE_WRITE_RESTRICTED) in bdev_yield_write_access()
905 else if (bdev_file->f_mode & FMODE_WRITE) in bdev_yield_write_access()
927 const struct blk_holder_ops *hops, struct file *bdev_file) in bdev_open() argument
983 bdev_file->f_flags |= O_LARGEFILE; in bdev_open()
984 bdev_file->f_mode |= FMODE_CAN_ODIRECT; in bdev_open()
986 bdev_file->f_mode |= FMODE_NOWAIT; in bdev_open()
988 bdev_file->f_mode |= FMODE_WRITE_RESTRICTED; in bdev_open()
989 bdev_file->f_mapping = bdev->bd_mapping; in bdev_open()
990 bdev_file->f_wb_err = filemap_sample_wb_err(bdev_file->f_mapping); in bdev_open()
991 bdev_file->private_data = holder; in bdev_open()
1037 struct file *bdev_file; in bdev_file_open_by_dev() local
1051 bdev_file = alloc_file_pseudo_noaccount(BD_INODE(bdev), in bdev_file_open_by_dev()
1053 if (IS_ERR(bdev_file)) { in bdev_file_open_by_dev()
1055 return bdev_file; in bdev_file_open_by_dev()
1059 ret = bdev_open(bdev, mode, holder, hops, bdev_file); in bdev_file_open_by_dev()
1062 bdev_file->private_data = ERR_PTR(ret); in bdev_file_open_by_dev()
1063 fput(bdev_file); in bdev_file_open_by_dev()
1066 return bdev_file; in bdev_file_open_by_dev()
1094 static inline void bd_yield_claim(struct file *bdev_file) in bd_yield_claim() argument
1096 struct block_device *bdev = file_bdev(bdev_file); in bd_yield_claim()
1097 void *holder = bdev_file->private_data; in bd_yield_claim()
1104 if (!bdev_unclaimed(bdev_file)) in bd_yield_claim()
1108 void bdev_release(struct file *bdev_file) in bdev_release() argument
1110 struct block_device *bdev = file_bdev(bdev_file); in bdev_release()
1111 void *holder = bdev_file->private_data; in bdev_release()
1129 bdev_yield_write_access(bdev_file); in bdev_release()
1132 bd_yield_claim(bdev_file); in bdev_release()
1160 void bdev_fput(struct file *bdev_file) in bdev_fput() argument
1162 if (WARN_ON_ONCE(bdev_file->f_op != &def_blk_fops)) in bdev_fput()
1165 if (bdev_file->private_data) { in bdev_fput()
1166 struct block_device *bdev = file_bdev(bdev_file); in bdev_fput()
1170 bdev_yield_write_access(bdev_file); in bdev_fput()
1171 bd_yield_claim(bdev_file); in bdev_fput()
1177 bdev_file->private_data = BDEV_I(bdev_file->f_mapping->host); in bdev_fput()
1181 fput(bdev_file); in bdev_fput()