Lines Matching refs:f

158 	struct fd f;  in do_sys_ftruncate()  local
165 f = fdget(fd); in do_sys_ftruncate()
166 if (!f.file) in do_sys_ftruncate()
170 if (f.file->f_flags & O_LARGEFILE) in do_sys_ftruncate()
173 dentry = f.file->f_path.dentry; in do_sys_ftruncate()
176 if (!S_ISREG(inode->i_mode) || !(f.file->f_mode & FMODE_WRITE)) in do_sys_ftruncate()
189 error = locks_verify_truncate(inode, f.file, length); in do_sys_ftruncate()
191 error = security_path_truncate(&f.file->f_path); in do_sys_ftruncate()
193 error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, f.file); in do_sys_ftruncate()
196 fdput(f); in do_sys_ftruncate()
322 struct fd f = fdget(fd); in SYSCALL_DEFINE4() local
325 if (f.file) { in SYSCALL_DEFINE4()
326 error = vfs_fallocate(f.file, mode, offset, len); in SYSCALL_DEFINE4()
327 fdput(f); in SYSCALL_DEFINE4()
446 struct fd f = fdget_raw(fd); in SYSCALL_DEFINE1() local
451 if (!f.file) in SYSCALL_DEFINE1()
454 inode = file_inode(f.file); in SYSCALL_DEFINE1()
462 set_fs_pwd(current->fs, &f.file->f_path); in SYSCALL_DEFINE1()
464 fdput(f); in SYSCALL_DEFINE1()
533 struct fd f = fdget(fd); in SYSCALL_DEFINE2() local
536 if (f.file) { in SYSCALL_DEFINE2()
537 audit_file(f.file); in SYSCALL_DEFINE2()
538 err = chmod_common(&f.file->f_path, mode); in SYSCALL_DEFINE2()
539 fdput(f); in SYSCALL_DEFINE2()
654 struct fd f = fdget(fd); in SYSCALL_DEFINE3() local
657 if (!f.file) in SYSCALL_DEFINE3()
660 error = mnt_want_write_file(f.file); in SYSCALL_DEFINE3()
663 audit_file(f.file); in SYSCALL_DEFINE3()
664 error = chown_common(&f.file->f_path, user, group); in SYSCALL_DEFINE3()
665 mnt_drop_write_file(f.file); in SYSCALL_DEFINE3()
667 fdput(f); in SYSCALL_DEFINE3()
672 int open_check_o_direct(struct file *f) in open_check_o_direct() argument
675 if (f->f_flags & O_DIRECT) { in open_check_o_direct()
676 if (!f->f_mapping->a_ops || !f->f_mapping->a_ops->direct_IO) in open_check_o_direct()
682 static int do_dentry_open(struct file *f, in do_dentry_open() argument
690 f->f_mode = OPEN_FMODE(f->f_flags) | FMODE_LSEEK | in do_dentry_open()
693 path_get(&f->f_path); in do_dentry_open()
694 f->f_inode = inode; in do_dentry_open()
695 f->f_mapping = inode->i_mapping; in do_dentry_open()
697 if (unlikely(f->f_flags & O_PATH)) { in do_dentry_open()
698 f->f_mode = FMODE_PATH; in do_dentry_open()
699 f->f_op = &empty_fops; in do_dentry_open()
703 if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { in do_dentry_open()
707 error = __mnt_want_write(f->f_path.mnt); in do_dentry_open()
712 f->f_mode |= FMODE_WRITER; in do_dentry_open()
717 f->f_mode |= FMODE_ATOMIC_POS; in do_dentry_open()
719 f->f_op = fops_get(inode->i_fop); in do_dentry_open()
720 if (unlikely(WARN_ON(!f->f_op))) { in do_dentry_open()
725 error = security_file_open(f, cred); in do_dentry_open()
729 error = break_lease(inode, f->f_flags); in do_dentry_open()
734 open = f->f_op->open; in do_dentry_open()
736 error = open(inode, f); in do_dentry_open()
740 if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) in do_dentry_open()
742 if ((f->f_mode & FMODE_READ) && in do_dentry_open()
743 likely(f->f_op->read || f->f_op->read_iter)) in do_dentry_open()
744 f->f_mode |= FMODE_CAN_READ; in do_dentry_open()
745 if ((f->f_mode & FMODE_WRITE) && in do_dentry_open()
746 likely(f->f_op->write || f->f_op->write_iter)) in do_dentry_open()
747 f->f_mode |= FMODE_CAN_WRITE; in do_dentry_open()
749 f->f_flags &= ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); in do_dentry_open()
751 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); in do_dentry_open()
756 fops_put(f->f_op); in do_dentry_open()
757 if (f->f_mode & FMODE_WRITER) { in do_dentry_open()
759 __mnt_drop_write(f->f_path.mnt); in do_dentry_open()
762 path_put(&f->f_path); in do_dentry_open()
763 f->f_path.mnt = NULL; in do_dentry_open()
764 f->f_path.dentry = NULL; in do_dentry_open()
765 f->f_inode = NULL; in do_dentry_open()
856 struct file *f; in dentry_open() local
863 f = get_empty_filp(); in dentry_open()
864 if (!IS_ERR(f)) { in dentry_open()
865 f->f_flags = flags; in dentry_open()
866 error = vfs_open(path, f, cred); in dentry_open()
869 error = open_check_o_direct(f); in dentry_open()
871 fput(f); in dentry_open()
872 f = ERR_PTR(error); in dentry_open()
875 put_filp(f); in dentry_open()
876 f = ERR_PTR(error); in dentry_open()
879 return f; in dentry_open()
1019 struct file *f = do_filp_open(dfd, tmp, &op); in do_sys_open() local
1020 if (IS_ERR(f)) { in do_sys_open()
1022 fd = PTR_ERR(f); in do_sys_open()
1024 fsnotify_open(f); in do_sys_open()
1025 fd_install(fd, f); in do_sys_open()