Lines Matching refs:iocb
96 ssize_t netfs_perform_write(struct kiocb *iocb, struct iov_iter *iter, in netfs_perform_write() argument
99 struct file *file = iocb->ki_filp; in netfs_perform_write()
107 .range_start = iocb->ki_pos, in netfs_perform_write()
108 .range_end = iocb->ki_pos + iter->count, in netfs_perform_write()
112 unsigned int bdp_flags = (iocb->ki_flags & IOCB_NOWAIT) ? BDP_ASYNC : 0; in netfs_perform_write()
114 loff_t i_size, pos = iocb->ki_pos; in netfs_perform_write()
119 iocb->ki_flags & (IOCB_DSYNC | IOCB_SYNC)) in netfs_perform_write()
129 wreq = netfs_begin_writethrough(iocb, iter->count); in netfs_perform_write()
136 if (!is_sync_kiocb(iocb)) in netfs_perform_write()
137 wreq->iocb = iocb; in netfs_perform_write()
393 iocb->ki_pos += written; in netfs_perform_write()
429 ssize_t netfs_buffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *from, in netfs_buffered_write_iter_locked() argument
432 struct file *file = iocb->ki_filp; in netfs_buffered_write_iter_locked()
435 trace_netfs_write_iter(iocb, from); in netfs_buffered_write_iter_locked()
445 return netfs_perform_write(iocb, from, netfs_group); in netfs_buffered_write_iter_locked()
462 ssize_t netfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in netfs_file_write_iter() argument
464 struct file *file = iocb->ki_filp; in netfs_file_write_iter()
469 _enter("%llx,%zx,%llx", iocb->ki_pos, iov_iter_count(from), i_size_read(inode)); in netfs_file_write_iter()
474 if ((iocb->ki_flags & IOCB_DIRECT) || in netfs_file_write_iter()
476 return netfs_unbuffered_write_iter(iocb, from); in netfs_file_write_iter()
482 ret = generic_write_checks(iocb, from); in netfs_file_write_iter()
484 ret = netfs_buffered_write_iter_locked(iocb, from, NULL); in netfs_file_write_iter()
487 ret = generic_write_sync(iocb, ret); in netfs_file_write_iter()