Lines Matching full:file

3  *  linux/fs/nfs/file.c
13 * Expire cache on write to a file by Wai S Kok (Oct 1994).
17 * nfs regular file handling functions
60 * Open file
63 nfs_file_open(struct inode *inode, struct file *filp) in nfs_file_open()
67 dprintk("NFS: open file(%pD2)\n", filp); in nfs_file_open()
81 nfs_file_release(struct inode *inode, struct file *filp) in nfs_file_release()
93 * nfs_revalidate_file_size - Revalidate the file size
95 * @filp: pointer to struct file
97 * Revalidates the file length. This is basically a wrapper around
100 * idea of what the file length is), or O_DIRECT (in which case we
103 static int nfs_revalidate_file_size(struct inode *inode, struct file *filp) in nfs_revalidate_file_size()
116 loff_t nfs_file_llseek(struct file *filp, loff_t offset, int whence) in nfs_file_llseek()
118 dprintk("NFS: llseek file(%pD2, %lld, %d)\n", in nfs_file_llseek()
123 * the cached file length in nfs_file_llseek()
141 nfs_file_flush(struct file *file, fl_owner_t id) in nfs_file_flush() argument
143 struct inode *inode = file_inode(file); in nfs_file_flush()
146 dprintk("NFS: flush(%pD2)\n", file); in nfs_file_flush()
149 if ((file->f_mode & FMODE_WRITE) == 0) in nfs_file_flush()
153 since = filemap_sample_wb_err(file->f_mapping); in nfs_file_flush()
155 return filemap_check_wb_err(file->f_mapping, since); in nfs_file_flush()
189 nfs_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe, in nfs_file_splice_read()
215 struct file *file = desc->file; in nfs_file_mmap_prepare() local
216 struct inode *inode = file_inode(file); in nfs_file_mmap_prepare()
219 dprintk("NFS: mmap(%pD2)\n", file); in nfs_file_mmap_prepare()
227 status = nfs_revalidate_mapping(inode, file->f_mapping); in nfs_file_mmap_prepare()
239 nfs_file_fsync_commit(struct file *file, int datasync) in nfs_file_fsync_commit() argument
241 struct inode *inode = file_inode(file); in nfs_file_fsync_commit()
244 dprintk("NFS: fsync file(%pD2) datasync %d\n", file, datasync); in nfs_file_fsync_commit()
248 ret2 = file_check_and_advance_wb_err(file); in nfs_file_fsync_commit()
255 nfs_file_fsync(struct file *file, loff_t start, loff_t end, int datasync) in nfs_file_fsync() argument
257 struct inode *inode = file_inode(file); in nfs_file_fsync()
266 ret = file_write_and_wait_range(file, start, end); in nfs_file_fsync()
269 ret = nfs_file_fsync_commit(file, datasync); in nfs_file_fsync()
335 * It may be more efficient to read the page first if the file is
339 * that there were valid bytes of data in that range of the file,
341 * that range of the file.
353 static bool nfs_want_read_modify_write(struct file *file, struct folio *folio, in nfs_want_read_modify_write() argument
364 if (pnfs_ld_read_whole_page(file_inode(file))) in nfs_want_read_modify_write()
369 if (file->f_mode & FMODE_READ) in nfs_want_read_modify_write()
388 struct file *file = iocb->ki_filp; in nfs_write_begin() local
392 trace_nfs_write_begin(file_inode(file), pos, len); in nfs_write_begin()
395 file, mapping->host->i_ino, len, (long long) pos); in nfs_write_begin()
406 ret = nfs_flush_incompatible(file, folio); in nfs_write_begin()
411 nfs_want_read_modify_write(file, folio, pos, len)) { in nfs_write_begin()
414 ret = nfs_read_folio(file, folio); in nfs_write_begin()
420 trace_nfs_write_begin_done(file_inode(file), pos, len, ret); in nfs_write_begin()
429 struct file *file = iocb->ki_filp; in nfs_write_end() local
430 struct nfs_open_context *ctx = nfs_file_open_context(file); in nfs_write_end()
434 trace_nfs_write_end(file_inode(file), pos, len); in nfs_write_end()
436 file, mapping->host->i_ino, len, (long long) pos); in nfs_write_end()
440 * as up to date if it turns out that we're extending the file. in nfs_write_end()
458 status = nfs_update_folio(file, folio, offset, copied); in nfs_write_end()
464 trace_nfs_write_end_done(file_inode(file), pos, len, status); in nfs_write_end()
472 trace_nfs_write_end_done(file_inode(file), pos, len, copied); in nfs_write_end()
570 static int nfs_swap_activate(struct swap_info_struct *sis, struct file *file, in nfs_swap_activate() argument
576 struct inode *inode = file_inode(file); in nfs_swap_activate()
607 static void nfs_swap_deactivate(struct file *file) in nfs_swap_deactivate() argument
609 struct inode *inode = file_inode(file); in nfs_swap_deactivate()
615 cl->rpc_ops->disable_swap(file_inode(file)); in nfs_swap_deactivate()
643 struct file *filp = vmf->vma->vm_file; in nfs_vm_page_mkwrite()
699 struct file *file = iocb->ki_filp; in nfs_file_write() local
700 struct inode *inode = file_inode(file); in nfs_file_write()
708 result = nfs_key_timeout_notify(file, inode); in nfs_file_write()
716 file, iov_iter_count(from), (long long) iocb->ki_pos); in nfs_file_write()
721 * O_APPEND implies that we must revalidate the file length. in nfs_file_write()
724 result = nfs_revalidate_file_size(inode, file); in nfs_file_write()
729 nfs_clear_invalid_mapping(file->f_mapping); in nfs_file_write()
731 since = filemap_sample_wb_err(file->f_mapping); in nfs_file_write()
746 result = filemap_fdatawrite_range(file->f_mapping, in nfs_file_write()
753 filemap_fdatawait_range(file->f_mapping, in nfs_file_write()
763 error = filemap_check_wb_err(file->f_mapping, since); in nfs_file_write()
771 error = file_check_and_advance_wb_err(file); in nfs_file_write()
778 printk(KERN_INFO "NFS: attempt to write to active swap file!\n"); in nfs_file_write()
784 do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) in do_getlk()
813 do_unlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) in do_unlk()
849 do_setlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) in do_setlk()
875 * the file is mapped, clear the page cache as well so in do_setlk()
891 * Lock a (portion of) a file
893 int nfs_lock(struct file *filp, int cmd, struct file_lock *fl) in nfs_lock()
929 * Lock a (portion of) a file
931 int nfs_flock(struct file *filp, int cmd, struct file_lock *fl) in nfs_flock()