Lines Matching refs:real
83 static int ovl_real_fdget_meta(const struct file *file, struct fd *real, in ovl_real_fdget_meta() argument
89 real->flags = 0; in ovl_real_fdget_meta()
90 real->file = file->private_data; in ovl_real_fdget_meta()
98 if (unlikely(file_inode(real->file) != realinode)) { in ovl_real_fdget_meta()
99 real->flags = FDPUT_FPUT; in ovl_real_fdget_meta()
100 real->file = ovl_open_realfile(file, realinode); in ovl_real_fdget_meta()
102 return PTR_ERR_OR_ZERO(real->file); in ovl_real_fdget_meta()
106 if (unlikely((file->f_flags ^ real->file->f_flags) & ~O_NOATIME)) in ovl_real_fdget_meta()
107 return ovl_change_flags(real->file, file->f_flags); in ovl_real_fdget_meta()
112 static int ovl_real_fdget(const struct file *file, struct fd *real) in ovl_real_fdget() argument
114 return ovl_real_fdget_meta(file, real, false); in ovl_real_fdget()
197 struct fd real; in ovl_read_iter() local
204 ret = ovl_real_fdget(file, &real); in ovl_read_iter()
209 ret = vfs_iter_read(real.file, iter, &iocb->ki_pos, in ovl_read_iter()
215 fdput(real); in ovl_read_iter()
224 struct fd real; in ovl_write_iter() local
238 ret = ovl_real_fdget(file, &real); in ovl_write_iter()
243 file_start_write(real.file); in ovl_write_iter()
244 ret = vfs_iter_write(real.file, iter, &iocb->ki_pos, in ovl_write_iter()
246 file_end_write(real.file); in ovl_write_iter()
252 fdput(real); in ovl_write_iter()
262 struct fd real; in ovl_fsync() local
266 ret = ovl_real_fdget_meta(file, &real, !datasync); in ovl_fsync()
271 if (file_inode(real.file) == ovl_inode_upper(file_inode(file))) { in ovl_fsync()
273 ret = vfs_fsync_range(real.file, start, end, datasync); in ovl_fsync()
277 fdput(real); in ovl_fsync()
316 struct fd real; in ovl_fallocate() local
320 ret = ovl_real_fdget(file, &real); in ovl_fallocate()
325 ret = vfs_fallocate(real.file, mode, offset, len); in ovl_fallocate()
331 fdput(real); in ovl_fallocate()
338 struct fd real; in ovl_fadvise() local
342 ret = ovl_real_fdget(file, &real); in ovl_fadvise()
347 ret = vfs_fadvise(real.file, offset, len, advice); in ovl_fadvise()
350 fdput(real); in ovl_fadvise()
358 struct fd real; in ovl_real_ioctl() local
362 ret = ovl_real_fdget(file, &real); in ovl_real_ioctl()
367 ret = vfs_ioctl(real.file, cmd, arg); in ovl_real_ioctl()
370 fdput(real); in ovl_real_ioctl()