• Home
  • Raw
  • Download

Lines Matching refs:iocb

582 static ssize_t ceph_sync_read(struct kiocb *iocb, struct iov_iter *to,  in ceph_sync_read()  argument
585 struct file *file = iocb->ki_filp; in ceph_sync_read()
591 u64 off = iocb->ki_pos; in ceph_sync_read()
715 if (off > iocb->ki_pos) { in ceph_sync_read()
719 ret = off - iocb->ki_pos; in ceph_sync_read()
720 iocb->ki_pos = off; in ceph_sync_read()
728 struct kiocb *iocb; member
756 if (aio_req->iocb->ki_flags & IOCB_DIRECT) in ceph_aio_complete()
768 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len; in ceph_aio_complete()
787 aio_req->iocb->ki_complete(aio_req->iocb, ret, 0); in ceph_aio_complete()
833 loff_t endoff = aio_req->iocb->ki_pos + rc; in ceph_aio_complete_req()
926 ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter, in ceph_direct_read_write() argument
930 struct file *file = iocb->ki_filp; in ceph_direct_read_write()
943 loff_t pos = iocb->ki_pos; in ceph_direct_read_write()
1003 if (pos == iocb->ki_pos && !is_sync_kiocb(iocb) && in ceph_direct_read_write()
1007 aio_req->iocb = iocb; in ceph_direct_read_write()
1114 if (ret != -EOLDSNAPC && pos > iocb->ki_pos) { in ceph_direct_read_write()
1115 ret = pos - iocb->ki_pos; in ceph_direct_read_write()
1116 iocb->ki_pos = pos; in ceph_direct_read_write()
1129 ceph_sync_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos, in ceph_sync_write() argument
1132 struct file *file = iocb->ki_filp; in ceph_sync_write()
1243 iocb->ki_pos = pos; in ceph_sync_write()
1255 static ssize_t ceph_read_iter(struct kiocb *iocb, struct iov_iter *to) in ceph_read_iter() argument
1257 struct file *filp = iocb->ki_filp; in ceph_read_iter()
1269 inode, ceph_vinop(inode), iocb->ki_pos, (unsigned)len, inode); in ceph_read_iter()
1271 if (iocb->ki_flags & IOCB_DIRECT) in ceph_read_iter()
1283 if (iocb->ki_flags & IOCB_DIRECT) in ceph_read_iter()
1291 (iocb->ki_flags & IOCB_DIRECT) || in ceph_read_iter()
1295 inode, ceph_vinop(inode), iocb->ki_pos, (unsigned)len, in ceph_read_iter()
1299 if (!retry_op && (iocb->ki_flags & IOCB_DIRECT)) { in ceph_read_iter()
1300 ret = ceph_direct_read_write(iocb, to, in ceph_read_iter()
1305 ret = ceph_sync_read(iocb, to, &retry_op); in ceph_read_iter()
1313 inode, ceph_vinop(inode), iocb->ki_pos, (unsigned)len, in ceph_read_iter()
1316 ret = generic_file_read_iter(iocb, to); in ceph_read_iter()
1328 if (iocb->ki_flags & IOCB_DIRECT) in ceph_read_iter()
1358 if (iocb->ki_pos < i_size && in ceph_read_iter()
1359 iocb->ki_pos < PAGE_SIZE) { in ceph_read_iter()
1361 iocb->ki_pos + len); in ceph_read_iter()
1366 iocb->ki_pos & ~PAGE_MASK, in ceph_read_iter()
1367 end - iocb->ki_pos, to); in ceph_read_iter()
1368 iocb->ki_pos += ret; in ceph_read_iter()
1371 if (iocb->ki_pos < i_size && read < len) { in ceph_read_iter()
1373 i_size - iocb->ki_pos); in ceph_read_iter()
1375 iocb->ki_pos += ret; in ceph_read_iter()
1383 if (retry_op == CHECK_EOF && iocb->ki_pos < i_size && in ceph_read_iter()
1386 ", reading more\n", iocb->ki_pos, i_size); in ceph_read_iter()
1411 static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) in ceph_write_iter() argument
1413 struct file *file = iocb->ki_filp; in ceph_write_iter()
1432 if (iocb->ki_flags & IOCB_DIRECT) in ceph_write_iter()
1440 if (iocb->ki_flags & IOCB_APPEND) { in ceph_write_iter()
1446 err = generic_write_checks(iocb, from); in ceph_write_iter()
1450 pos = iocb->ki_pos; in ceph_write_iter()
1502 (iocb->ki_flags & IOCB_DIRECT) || (fi->flags & CEPH_F_SYNC) || in ceph_write_iter()
1522 if (iocb->ki_flags & IOCB_DIRECT) { in ceph_write_iter()
1523 written = ceph_direct_read_write(iocb, &data, snapc, in ceph_write_iter()
1527 written = ceph_sync_write(iocb, &data, pos, snapc); in ceph_write_iter()
1543 iocb->ki_pos = pos + written; in ceph_write_iter()
1557 if (ceph_quota_is_max_bytes_approaching(inode, iocb->ki_pos)) in ceph_write_iter()
1574 iocb->ki_flags |= IOCB_DSYNC; in ceph_write_iter()
1575 written = generic_write_sync(iocb, written); in ceph_write_iter()
1580 if (iocb->ki_flags & IOCB_DIRECT) in ceph_write_iter()