Lines Matching refs:realfile
59 struct file *realfile; member
301 struct file *realfile; in ovl_dir_read() local
304 realfile = ovl_path_open(realpath, O_RDONLY | O_LARGEFILE); in ovl_dir_read()
305 if (IS_ERR(realfile)) in ovl_dir_read()
306 return PTR_ERR(realfile); in ovl_dir_read()
313 err = iterate_dir(realfile, &rdd->ctx); in ovl_dir_read()
321 fput(realfile); in ovl_dir_read()
743 err = iterate_dir(od->realfile, &rdt.ctx); in ovl_iterate_real()
775 err = iterate_dir(od->realfile, ctx); in ovl_iterate()
825 res = vfs_llseek(od->realfile, offset, origin); in ovl_dir_llseek()
826 file->f_pos = od->realfile->f_pos; in ovl_dir_llseek()
880 struct file *old, *realfile = od->realfile; in ovl_dir_real_file() local
883 return want_upper ? NULL : realfile; in ovl_dir_real_file()
889 realfile = READ_ONCE(od->upperfile); in ovl_dir_real_file()
890 if (!realfile) { in ovl_dir_real_file()
894 realfile = ovl_dir_open_realfile(file, &upperpath); in ovl_dir_real_file()
895 if (IS_ERR(realfile)) in ovl_dir_real_file()
896 return realfile; in ovl_dir_real_file()
898 old = cmpxchg_release(&od->upperfile, NULL, realfile); in ovl_dir_real_file()
900 fput(realfile); in ovl_dir_real_file()
901 realfile = old; in ovl_dir_real_file()
906 return realfile; in ovl_dir_real_file()
912 struct file *realfile; in ovl_dir_fsync() local
919 realfile = ovl_dir_real_file(file, true); in ovl_dir_fsync()
920 err = PTR_ERR_OR_ZERO(realfile); in ovl_dir_fsync()
923 if (!realfile || err) in ovl_dir_fsync()
926 return vfs_fsync_range(realfile, start, end, datasync); in ovl_dir_fsync()
938 fput(od->realfile); in ovl_dir_release()
949 struct file *realfile; in ovl_dir_open() local
958 realfile = ovl_dir_open_realfile(file, &realpath); in ovl_dir_open()
959 if (IS_ERR(realfile)) { in ovl_dir_open()
961 return PTR_ERR(realfile); in ovl_dir_open()
963 od->realfile = realfile; in ovl_dir_open()