Lines Matching refs:f

156 	struct fd f;  in do_sys_ftruncate()  local
163 f = fdget(fd); in do_sys_ftruncate()
164 if (!f.file) in do_sys_ftruncate()
168 if (f.file->f_flags & O_LARGEFILE) in do_sys_ftruncate()
171 dentry = f.file->f_path.dentry; in do_sys_ftruncate()
174 if (!S_ISREG(inode->i_mode) || !(f.file->f_mode & FMODE_WRITE)) in do_sys_ftruncate()
187 error = locks_verify_truncate(inode, f.file, length); in do_sys_ftruncate()
189 error = security_path_truncate(&f.file->f_path); in do_sys_ftruncate()
191 error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, f.file); in do_sys_ftruncate()
194 fdput(f); in do_sys_ftruncate()
320 struct fd f = fdget(fd); in SYSCALL_DEFINE4() local
323 if (f.file) { in SYSCALL_DEFINE4()
324 error = vfs_fallocate(f.file, mode, offset, len); in SYSCALL_DEFINE4()
325 fdput(f); in SYSCALL_DEFINE4()
444 struct fd f = fdget_raw(fd); in SYSCALL_DEFINE1() local
449 if (!f.file) in SYSCALL_DEFINE1()
452 inode = file_inode(f.file); in SYSCALL_DEFINE1()
460 set_fs_pwd(current->fs, &f.file->f_path); in SYSCALL_DEFINE1()
462 fdput(f); in SYSCALL_DEFINE1()
531 struct fd f = fdget(fd); in SYSCALL_DEFINE2() local
534 if (f.file) { in SYSCALL_DEFINE2()
535 audit_file(f.file); in SYSCALL_DEFINE2()
536 err = chmod_common(&f.file->f_path, mode); in SYSCALL_DEFINE2()
537 fdput(f); in SYSCALL_DEFINE2()
652 struct fd f = fdget(fd); in SYSCALL_DEFINE3() local
655 if (!f.file) in SYSCALL_DEFINE3()
658 error = mnt_want_write_file(f.file); in SYSCALL_DEFINE3()
661 audit_file(f.file); in SYSCALL_DEFINE3()
662 error = chown_common(&f.file->f_path, user, group); in SYSCALL_DEFINE3()
663 mnt_drop_write_file(f.file); in SYSCALL_DEFINE3()
665 fdput(f); in SYSCALL_DEFINE3()
670 int open_check_o_direct(struct file *f) in open_check_o_direct() argument
673 if (f->f_flags & O_DIRECT) { in open_check_o_direct()
674 if (!f->f_mapping->a_ops || !f->f_mapping->a_ops->direct_IO) in open_check_o_direct()
680 static int do_dentry_open(struct file *f, in do_dentry_open() argument
688 f->f_mode = OPEN_FMODE(f->f_flags) | FMODE_LSEEK | in do_dentry_open()
691 path_get(&f->f_path); in do_dentry_open()
692 f->f_inode = inode; in do_dentry_open()
693 f->f_mapping = inode->i_mapping; in do_dentry_open()
695 if (unlikely(f->f_flags & O_PATH)) { in do_dentry_open()
696 f->f_mode = FMODE_PATH; in do_dentry_open()
697 f->f_op = &empty_fops; in do_dentry_open()
701 if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { in do_dentry_open()
705 error = __mnt_want_write(f->f_path.mnt); in do_dentry_open()
710 f->f_mode |= FMODE_WRITER; in do_dentry_open()
715 f->f_mode |= FMODE_ATOMIC_POS; in do_dentry_open()
717 f->f_op = fops_get(inode->i_fop); in do_dentry_open()
718 if (unlikely(WARN_ON(!f->f_op))) { in do_dentry_open()
723 error = security_file_open(f, cred); in do_dentry_open()
727 error = break_lease(inode, f->f_flags); in do_dentry_open()
732 open = f->f_op->open; in do_dentry_open()
734 error = open(inode, f); in do_dentry_open()
738 if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) in do_dentry_open()
740 if ((f->f_mode & FMODE_READ) && in do_dentry_open()
741 likely(f->f_op->read || f->f_op->read_iter)) in do_dentry_open()
742 f->f_mode |= FMODE_CAN_READ; in do_dentry_open()
743 if ((f->f_mode & FMODE_WRITE) && in do_dentry_open()
744 likely(f->f_op->write || f->f_op->write_iter)) in do_dentry_open()
745 f->f_mode |= FMODE_CAN_WRITE; in do_dentry_open()
747 f->f_flags &= ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); in do_dentry_open()
749 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); in do_dentry_open()
754 fops_put(f->f_op); in do_dentry_open()
755 if (f->f_mode & FMODE_WRITER) { in do_dentry_open()
757 __mnt_drop_write(f->f_path.mnt); in do_dentry_open()
760 path_put(&f->f_path); in do_dentry_open()
761 f->f_path.mnt = NULL; in do_dentry_open()
762 f->f_path.dentry = NULL; in do_dentry_open()
763 f->f_inode = NULL; in do_dentry_open()
852 struct file *f; in dentry_open() local
859 f = get_empty_filp(); in dentry_open()
860 if (!IS_ERR(f)) { in dentry_open()
861 f->f_flags = flags; in dentry_open()
862 error = vfs_open(path, f, cred); in dentry_open()
865 error = open_check_o_direct(f); in dentry_open()
867 fput(f); in dentry_open()
868 f = ERR_PTR(error); in dentry_open()
871 put_filp(f); in dentry_open()
872 f = ERR_PTR(error); in dentry_open()
875 return f; in dentry_open()
1015 struct file *f = do_filp_open(dfd, tmp, &op); in do_sys_open() local
1016 if (IS_ERR(f)) { in do_sys_open()
1018 fd = PTR_ERR(f); in do_sys_open()
1020 fsnotify_open(f); in do_sys_open()
1021 fd_install(fd, f); in do_sys_open()