Searched refs:iocb (Results 1 - 25 of 46) sorted by relevance

12

/fs/ocfs2/
H A Daops.h63 #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 Dfile.c2235 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 Daops.c567 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 Daio.c999 * 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 Ddirect-io.c130 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 Dbad_inode.c36 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 Dblock_dev.c158 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 Dfile.c103 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 Ddirect.c75 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 Dfile.c169 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 Dcifsfs.h98 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 Dfile.c2661 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 Dcifsfs.c742 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 Dfile.c428 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 Dxfs_file.c234 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 Dxfs_aops.c1473 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 Dfile.c92 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 Dinode.c2916 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 Dfile.c47 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 Dinode.c333 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 Dvfs_addr.c245 * @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 Dfile.c1779 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 Dfile.c615 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 Dwrite.c628 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 Dinode.c125 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,

Completed in 1756 milliseconds

12