/fs/ocfs2/ |
H A D | aops.h | 63 #define ocfs2_iocb_is_rw_locked(iocb) \ 64 test_bit(0, (unsigned long *)&iocb->private) 65 static inline void ocfs2_iocb_set_rw_locked(struct kiocb *iocb, int level) argument 67 set_bit(0, (unsigned long *)&iocb->private); 69 set_bit(1, (unsigned long *)&iocb->private); 71 clear_bit(1, (unsigned long *)&iocb->private); 76 * iocb->private, which is going to be used for communication between 87 #define ocfs2_iocb_clear_rw_locked(iocb) \ 88 clear_bit(OCFS2_IOCB_RW_LOCK, (unsigned long *)&iocb->private) 89 #define ocfs2_iocb_rw_locked_level(iocb) \ [all...] |
H A D | file.c | 2235 static ssize_t ocfs2_file_write_iter(struct kiocb *iocb, argument 2242 loff_t old_size, *ppos = &iocb->ki_pos; 2244 struct file *file = iocb->ki_filp; 2257 if (iocb->ki_nbytes == 0) 2265 ocfs2_iocb_clear_sem_locked(iocb); 2272 ocfs2_iocb_set_sem_locked(iocb); 2308 iocb->ki_nbytes, appending, 2315 if (direct_io && !is_sync_kiocb(iocb)) 2316 unaligned_dio = ocfs2_is_io_unaligned(inode, iocb->ki_nbytes, 2339 /* Mark the iocb a 2462 ocfs2_file_read_iter(struct kiocb *iocb, struct iov_iter *to) argument [all...] |
H A D | aops.c | 567 static void ocfs2_dio_end_io(struct kiocb *iocb, argument 572 struct inode *inode = file_inode(iocb->ki_filp); 576 BUG_ON(!ocfs2_iocb_is_rw_locked(iocb)); 578 if (ocfs2_iocb_is_sem_locked(iocb)) 579 ocfs2_iocb_clear_sem_locked(iocb); 581 if (ocfs2_iocb_is_unaligned_aio(iocb)) { 582 ocfs2_iocb_clear_unaligned_aio(iocb); 587 ocfs2_iocb_clear_rw_locked(iocb); 589 level = ocfs2_iocb_rw_locked_level(iocb); 601 struct kiocb *iocb, 600 ocfs2_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t offset) argument [all...] |
/fs/ |
H A D | aio.c | 999 * Called when the io request on the given iocb is complete. 1001 void aio_complete(struct kiocb *iocb, long res, long res2) argument 1003 struct kioctx *ctx = iocb->ki_ctx; 1011 * - events go directly into the iocb for fast handling 1012 * - the sync task with the iocb in its stack holds the single iocb 1014 * - the sync task helpfully left a reference to itself in the iocb 1016 if (is_sync_kiocb(iocb)) { 1017 iocb->ki_user_data = res; 1019 iocb 1477 io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, struct iocb *iocb, bool compat) argument 1623 lookup_kiocb(struct kioctx *ctx, struct iocb __user *iocb, u32 key) argument [all...] |
H A D | direct-io.c | 130 struct kiocb *iocb; /* kiocb */ member in struct:dio 255 dio->end_io(dio->iocb, offset, transferred, dio->private); 262 err = generic_write_sync(dio->iocb->ki_filp, offset, 268 aio_complete(dio->iocb, ret, 0); 279 dio_complete(dio, dio->iocb->ki_pos, 0, true); 308 dio_complete(dio, dio->iocb->ki_pos, 0, true); 1097 do_blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, argument 1149 iocb->ki_filp->f_mapping; 1170 if (is_sync_kiocb(iocb)) 1186 ((iocb 1305 __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, struct block_device *bdev, struct iov_iter *iter, loff_t offset, get_block_t get_block, dio_iodone_t end_io, dio_submit_t submit_io, int flags) argument [all...] |
H A D | bad_inode.c | 36 static ssize_t bad_file_aio_read(struct kiocb *iocb, const struct iovec *iov, argument 42 static ssize_t bad_file_aio_write(struct kiocb *iocb, const struct iovec *iov, argument 96 static int bad_file_aio_fsync(struct kiocb *iocb, int datasync) argument
|
H A D | block_dev.c | 158 blkdev_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, argument 161 struct file *file = iocb->ki_filp; 164 return __blockdev_direct_IO(rw, iocb, inode, I_BDEV(inode), iter, 1569 ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 1571 struct file *file = iocb->ki_filp; 1576 ret = __generic_file_write_iter(iocb, from); 1579 err = generic_write_sync(file, iocb->ki_pos - ret, ret); 1588 ssize_t blkdev_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 1590 struct file *file = iocb->ki_filp; 1593 loff_t pos = iocb [all...] |
/fs/udf/ |
H A D | file.c | 103 static ssize_t udf_adinicb_direct_IO(int rw, struct kiocb *iocb, argument 119 static ssize_t udf_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 122 struct file *file = iocb->ki_filp; 125 size_t count = iocb->ki_nbytes; 134 pos = iocb->ki_pos; 155 retval = __generic_file_write_iter(iocb, from); 162 err = generic_write_sync(file, iocb->ki_pos - retval, retval);
|
/fs/nfs/ |
H A D | direct.c | 75 struct kiocb * iocb; /* controlling i/o request */ member in struct:nfs_direct_req 203 * @iocb: target I/O control block 213 ssize_t nfs_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t pos) argument 217 iocb->ki_filp, (long long) pos, iter->nr_segs); 221 VM_BUG_ON(iocb->ki_nbytes != PAGE_SIZE); 224 return nfs_file_direct_read(iocb, iter, pos); 225 return nfs_file_direct_write(iocb, iter, pos); 296 if (dreq->iocb) 311 * Synchronous I/O uses a stack-allocated iocb. Thus we can't trust 312 * the iocb i 511 nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter, loff_t pos) argument 880 nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter, loff_t pos) argument [all...] |
H A D | file.c | 169 nfs_file_read(struct kiocb *iocb, struct iov_iter *to) argument 171 struct inode *inode = file_inode(iocb->ki_filp); 174 if (iocb->ki_filp->f_flags & O_DIRECT) 175 return nfs_file_direct_read(iocb, to, iocb->ki_pos); 178 iocb->ki_filp, 179 iov_iter_count(to), (unsigned long) iocb->ki_pos); 181 result = nfs_revalidate_mapping(inode, iocb->ki_filp->f_mapping); 183 result = generic_file_read_iter(iocb, to); 665 ssize_t nfs_file_write(struct kiocb *iocb, struc argument [all...] |
/fs/cifs/ |
H A D | cifsfs.h | 98 extern ssize_t cifs_user_readv(struct kiocb *iocb, struct iov_iter *to); 99 extern ssize_t cifs_strict_readv(struct kiocb *iocb, struct iov_iter *to); 100 extern ssize_t cifs_user_writev(struct kiocb *iocb, struct iov_iter *from); 101 extern ssize_t cifs_strict_writev(struct kiocb *iocb, struct iov_iter *from);
|
H A D | file.c | 2661 ssize_t cifs_user_writev(struct kiocb *iocb, struct iov_iter *from) argument 2665 loff_t pos = iocb->ki_pos; 2667 inode = file_inode(iocb->ki_filp); 2675 written = cifs_iovec_write(iocb->ki_filp, from, &pos); 2678 iocb->ki_pos = pos; 2685 cifs_writev(struct kiocb *iocb, struct iov_iter *from) argument 2687 struct file *file = iocb->ki_filp; 2693 loff_t lock_pos = iocb->ki_pos; 2706 rc = __generic_file_write_iter(iocb, from); 2712 err = generic_write_sync(file, iocb 2724 cifs_strict_writev(struct kiocb *iocb, struct iov_iter *from) argument 2995 cifs_user_readv(struct kiocb *iocb, struct iov_iter *to) argument 3100 cifs_strict_readv(struct kiocb *iocb, struct iov_iter *to) argument 3882 cifs_direct_io(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t pos) argument [all...] |
H A D | cifsfs.c | 742 cifs_loose_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument 745 struct inode *inode = file_inode(iocb->ki_filp); 751 return generic_file_read_iter(iocb, iter); 754 static ssize_t cifs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 756 struct inode *inode = file_inode(iocb->ki_filp); 765 written = generic_file_write_iter(iocb, from);
|
/fs/ceph/ |
H A D | file.c | 428 static ssize_t ceph_sync_read(struct kiocb *iocb, struct iov_iter *i, argument 431 struct file *file = iocb->ki_filp; 434 u64 off = iocb->ki_pos; 505 if (off > iocb->ki_pos) { 506 ret = off - iocb->ki_pos; 507 iocb->ki_pos = off; 555 ceph_sync_direct_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos) argument 557 struct file *file = iocb->ki_filp; 655 iocb->ki_pos = pos; 670 ceph_sync_write(struct kiocb *iocb, struc argument 799 ceph_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 876 ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) argument [all...] |
/fs/xfs/ |
H A D | xfs_file.c | 234 struct kiocb *iocb, 237 struct file *file = iocb->ki_filp; 245 loff_t pos = iocb->ki_pos; 316 ret = generic_file_read_iter(iocb, to); 590 struct kiocb *iocb, 593 struct file *file = iocb->ki_filp; 602 loff_t pos = iocb->ki_pos; 671 trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0); 672 ret = generic_file_direct_write(iocb, from, pos); 684 struct kiocb *iocb, 233 xfs_file_read_iter( struct kiocb *iocb, struct iov_iter *to) argument 589 xfs_file_dio_aio_write( struct kiocb *iocb, struct iov_iter *from) argument 683 xfs_file_buffered_aio_write( struct kiocb *iocb, struct iov_iter *from) argument 744 xfs_file_write_iter( struct kiocb *iocb, struct iov_iter *from) argument [all...] |
H A D | xfs_aops.c | 1473 struct kiocb *iocb, 1478 struct xfs_ioend *ioend = iocb->private; 1494 iocb->private = NULL; 1507 struct kiocb *iocb, 1511 struct inode *inode = iocb->ki_filp->f_mapping->host; 1525 iocb->private = ioend = xfs_alloc_ioend(inode, XFS_IO_DIRECT); 1529 ret = __blockdev_direct_IO(rw, iocb, inode, bdev, iter, 1533 if (ret != -EIOCBQUEUED && iocb->private) 1536 ret = __blockdev_direct_IO(rw, iocb, inode, bdev, iter, 1472 xfs_end_io_direct_write( struct kiocb *iocb, loff_t offset, ssize_t size, void *private) argument 1505 xfs_vm_direct_IO( int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t offset) argument
|
/fs/ext4/ |
H A D | file.c | 92 ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 94 struct file *file = iocb->ki_filp; 95 struct inode *inode = file_inode(iocb->ki_filp); 102 loff_t pos = iocb->ki_pos; 110 !is_sync_kiocb(iocb) && 120 iocb->ki_pos = pos = i_size_read(inode); 140 iocb->private = &overwrite; 175 ret = __generic_file_write_iter(iocb, from); 181 err = generic_write_sync(file, iocb->ki_pos - ret, ret);
|
H A D | inode.c | 2916 static void ext4_end_io_dio(struct kiocb *iocb, loff_t offset, argument 2919 ext4_io_end_t *io_end = iocb->private; 2926 "for inode %lu, iocb 0x%p, offset %llu, size %zd\n", 2927 iocb->private, io_end->inode->i_ino, iocb, offset, 2930 iocb->private = NULL; 2955 static ssize_t ext4_ext_direct_IO(int rw, struct kiocb *iocb, argument 2958 struct file *file = iocb->ki_filp; 2970 return ext4_ind_direct_IO(rw, iocb, iter, offset); 2972 BUG_ON(iocb 3091 ext4_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t offset) argument [all...] |
/fs/ecryptfs/ |
H A D | file.c | 47 static ssize_t ecryptfs_read_update_atime(struct kiocb *iocb, argument 52 struct file *file = iocb->ki_filp; 54 rc = generic_file_read_iter(iocb, to); 60 rc = wait_on_sync_kiocb(iocb);
|
/fs/jfs/ |
H A D | inode.c | 333 static ssize_t jfs_direct_IO(int rw, struct kiocb *iocb, argument 336 struct file *file = iocb->ki_filp; 342 ret = blockdev_direct_IO(rw, iocb, inode, iter, offset, jfs_get_block);
|
/fs/9p/ |
H A D | vfs_addr.c | 245 * @iocb: target I/O control block 262 v9fs_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t pos) argument 270 iocb->ki_filp,
|
/fs/ntfs/ |
H A D | file.c | 1779 static ssize_t ntfs_file_buffered_write(struct kiocb *iocb, argument 1783 struct file *file = iocb->ki_filp; 2081 static ssize_t ntfs_file_aio_write_nolock(struct kiocb *iocb, argument 2084 struct file *file = iocb->ki_filp; 2107 written = ntfs_file_buffered_write(iocb, iov, nr_segs, pos, ppos, 2117 static ssize_t ntfs_file_aio_write(struct kiocb *iocb, const struct iovec *iov, argument 2120 struct file *file = iocb->ki_filp; 2125 BUG_ON(iocb->ki_pos != pos); 2128 ret = ntfs_file_aio_write_nolock(iocb, iov, nr_segs, &iocb [all...] |
/fs/fuse/ |
H A D | file.c | 615 if (!is_sync_kiocb(io->iocb)) { 616 struct inode *inode = file_inode(io->iocb->ki_filp); 626 aio_complete(io->iocb, res, 0); 936 static ssize_t fuse_file_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 938 struct inode *inode = iocb->ki_filp->f_mapping->host; 947 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) { 949 err = fuse_update_attributes(inode, NULL, iocb->ki_filp, NULL); 954 return generic_file_read_iter(iocb, to); 1183 static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 1185 struct file *file = iocb 2867 fuse_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t offset) argument [all...] |
/fs/afs/ |
H A D | write.c | 628 ssize_t afs_file_write(struct kiocb *iocb, struct iov_iter *from) argument 630 struct afs_vnode *vnode = AFS_FS_I(file_inode(iocb->ki_filp)); 646 result = generic_file_write_iter(iocb, from);
|
/fs/hfsplus/ |
H A D | inode.c | 125 static ssize_t hfsplus_direct_IO(int rw, struct kiocb *iocb, argument 128 struct file *file = iocb->ki_filp; 134 ret = blockdev_direct_IO(rw, iocb, inode, iter, offset,
|