• Home
  • Raw
  • Download

Lines Matching refs:f

166 	struct fd f;  in do_sys_ftruncate()  local
173 f = fdget(fd); in do_sys_ftruncate()
174 if (!f.file) in do_sys_ftruncate()
178 if (f.file->f_flags & O_LARGEFILE) in do_sys_ftruncate()
181 dentry = f.file->f_path.dentry; in do_sys_ftruncate()
182 mnt = f.file->f_path.mnt; in do_sys_ftruncate()
185 if (!S_ISREG(inode->i_mode) || !(f.file->f_mode & FMODE_WRITE)) in do_sys_ftruncate()
198 error = locks_verify_truncate(inode, f.file, length); in do_sys_ftruncate()
200 error = security_path_truncate(&f.file->f_path); in do_sys_ftruncate()
202 error = do_truncate2(mnt, dentry, length, ATTR_MTIME|ATTR_CTIME, f.file); in do_sys_ftruncate()
205 fdput(f); in do_sys_ftruncate()
331 struct fd f = fdget(fd); in SYSCALL_DEFINE4() local
334 if (f.file) { in SYSCALL_DEFINE4()
335 error = vfs_fallocate(f.file, mode, offset, len); in SYSCALL_DEFINE4()
336 fdput(f); in SYSCALL_DEFINE4()
476 struct fd f = fdget_raw(fd); in SYSCALL_DEFINE1() local
482 if (!f.file) in SYSCALL_DEFINE1()
485 inode = file_inode(f.file); in SYSCALL_DEFINE1()
486 mnt = f.file->f_path.mnt; in SYSCALL_DEFINE1()
494 set_fs_pwd(current->fs, &f.file->f_path); in SYSCALL_DEFINE1()
496 fdput(f); in SYSCALL_DEFINE1()
565 struct fd f = fdget(fd); in SYSCALL_DEFINE2() local
568 if (f.file) { in SYSCALL_DEFINE2()
569 audit_file(f.file); in SYSCALL_DEFINE2()
570 err = chmod_common(&f.file->f_path, mode); in SYSCALL_DEFINE2()
571 fdput(f); in SYSCALL_DEFINE2()
686 struct fd f = fdget(fd); in SYSCALL_DEFINE3() local
689 if (!f.file) in SYSCALL_DEFINE3()
692 error = mnt_want_write_file(f.file); in SYSCALL_DEFINE3()
695 audit_file(f.file); in SYSCALL_DEFINE3()
696 error = chown_common(&f.file->f_path, user, group); in SYSCALL_DEFINE3()
697 mnt_drop_write_file(f.file); in SYSCALL_DEFINE3()
699 fdput(f); in SYSCALL_DEFINE3()
704 int open_check_o_direct(struct file *f) in open_check_o_direct() argument
707 if (f->f_flags & O_DIRECT) { in open_check_o_direct()
708 if (!f->f_mapping->a_ops || !f->f_mapping->a_ops->direct_IO) in open_check_o_direct()
714 static int do_dentry_open(struct file *f, in do_dentry_open() argument
722 f->f_mode = OPEN_FMODE(f->f_flags) | FMODE_LSEEK | in do_dentry_open()
725 path_get(&f->f_path); in do_dentry_open()
726 f->f_inode = inode; in do_dentry_open()
727 f->f_mapping = inode->i_mapping; in do_dentry_open()
729 if (unlikely(f->f_flags & O_PATH)) { in do_dentry_open()
730 f->f_mode = FMODE_PATH; in do_dentry_open()
731 f->f_op = &empty_fops; in do_dentry_open()
735 if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { in do_dentry_open()
739 error = __mnt_want_write(f->f_path.mnt); in do_dentry_open()
744 f->f_mode |= FMODE_WRITER; in do_dentry_open()
749 f->f_mode |= FMODE_ATOMIC_POS; in do_dentry_open()
751 f->f_op = fops_get(inode->i_fop); in do_dentry_open()
752 if (unlikely(WARN_ON(!f->f_op))) { in do_dentry_open()
757 error = security_file_open(f, cred); in do_dentry_open()
761 error = break_lease(inode, f->f_flags); in do_dentry_open()
766 open = f->f_op->open; in do_dentry_open()
768 error = open(inode, f); in do_dentry_open()
772 if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) in do_dentry_open()
774 if ((f->f_mode & FMODE_READ) && in do_dentry_open()
775 likely(f->f_op->read || f->f_op->read_iter)) in do_dentry_open()
776 f->f_mode |= FMODE_CAN_READ; in do_dentry_open()
777 if ((f->f_mode & FMODE_WRITE) && in do_dentry_open()
778 likely(f->f_op->write || f->f_op->write_iter)) in do_dentry_open()
779 f->f_mode |= FMODE_CAN_WRITE; in do_dentry_open()
781 f->f_flags &= ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); in do_dentry_open()
783 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); in do_dentry_open()
788 fops_put(f->f_op); in do_dentry_open()
789 if (f->f_mode & FMODE_WRITER) { in do_dentry_open()
791 __mnt_drop_write(f->f_path.mnt); in do_dentry_open()
794 path_put(&f->f_path); in do_dentry_open()
795 f->f_path.mnt = NULL; in do_dentry_open()
796 f->f_path.dentry = NULL; in do_dentry_open()
797 f->f_inode = NULL; in do_dentry_open()
888 struct file *f; in dentry_open() local
895 f = get_empty_filp(); in dentry_open()
896 if (!IS_ERR(f)) { in dentry_open()
897 f->f_flags = flags; in dentry_open()
898 error = vfs_open(path, f, cred); in dentry_open()
901 error = open_check_o_direct(f); in dentry_open()
903 fput(f); in dentry_open()
904 f = ERR_PTR(error); in dentry_open()
907 put_filp(f); in dentry_open()
908 f = ERR_PTR(error); in dentry_open()
911 return f; in dentry_open()
1057 struct file *f = do_filp_open(dfd, tmp, &op); in do_sys_open() local
1058 if (IS_ERR(f)) { in do_sys_open()
1060 fd = PTR_ERR(f); in do_sys_open()
1062 fsnotify_open(f); in do_sys_open()
1063 fd_install(fd, f); in do_sys_open()