Lines Matching defs:pos
592 void fuse_read_args_fill(struct fuse_io_args *ia, struct file *file, loff_t pos,
599 ia->read.in.offset = pos;
641 * In case of short read, the caller sets 'pos' to the position of
643 * == bytes_transferred or rw == WRITE, the caller sets 'pos' to -1.
648 * fully completed (req->out.args[0].size == 32K) resulting in pos == -1. The
650 * pos == 33K.
652 * Thus, when all fuse requests are completed, the minimal non-negative 'pos'
656 static void fuse_aio_complete(struct fuse_io_priv *io, int err, ssize_t pos)
663 else if (pos >= 0 && (io->bytes < 0 || pos < io->bytes))
664 io->bytes = pos;
719 ssize_t pos = -1;
729 pos = ia->write.in.offset - io->offset +
736 pos = ia->read.in.offset - io->offset + outsize;
739 fuse_aio_complete(io, err, pos);
764 static ssize_t fuse_send_read(struct fuse_io_args *ia, loff_t pos, size_t count,
771 fuse_read_args_fill(ia, file, pos, count, FUSE_READ);
818 loff_t pos = page_offset(ap->pages[0]) + num_read;
819 fuse_read_update_size(inode, pos, attr_ver);
827 loff_t pos = page_offset(page);
849 if (pos + (desc.length - 1) == LLONG_MAX)
852 fuse_read_args_fill(&ia, file, pos, desc.length, FUSE_READ);
929 loff_t pos = page_offset(ap->pages[0]);
939 if (pos + (count - 1) == LLONG_MAX) {
943 WARN_ON((loff_t) (pos + count) < 0);
945 fuse_read_args_fill(ia, file, pos, count, FUSE_READ);
1018 loff_t pos, size_t count)
1023 ia->write.in.offset = pos;
1051 static ssize_t fuse_send_write(struct fuse_io_args *ia, loff_t pos,
1061 fuse_write_args_fill(ia, ff, pos, count);
1078 bool fuse_write_update_size(struct inode *inode, loff_t pos)
1086 if (pos > inode->i_size) {
1087 i_size_write(inode, pos);
1097 loff_t pos, size_t count)
1110 fuse_write_args_fill(ia, ff, pos, count);
1145 struct iov_iter *ii, loff_t pos,
1150 unsigned offset = pos & (PAGE_SIZE - 1);
1160 pgoff_t index = pos >> PAGE_SHIFT;
1196 pos += tmp;
1219 static inline unsigned int fuse_wr_pages(loff_t pos, size_t len,
1223 ((pos + len - 1) >> PAGE_SHIFT) -
1224 (pos >> PAGE_SHIFT) + 1,
1230 struct iov_iter *ii, loff_t pos)
1238 if (inode->i_size < pos + iov_iter_count(ii))
1245 unsigned int nr_pages = fuse_wr_pages(pos, iov_iter_count(ii),
1254 count = fuse_fill_write_pages(&ia, mapping, ii, pos, nr_pages);
1259 pos, count);
1264 pos += num_written;
1275 fuse_write_update_size(inode, pos);
1320 loff_t pos = iocb->ki_pos;
1325 pos += written;
1327 written_buffered = fuse_perform_write(iocb, mapping, from, pos);
1332 endbyte = pos + written_buffered - 1;
1334 err = filemap_write_and_wait_range(file->f_mapping, pos,
1340 pos >> PAGE_SHIFT,
1344 iocb->ki_pos = pos + written_buffered;
1447 loff_t pos = *ppos;
1449 pgoff_t idx_from = pos >> PAGE_SHIFT;
1450 pgoff_t idx_to = (pos + count - 1) >> PAGE_SHIFT;
1485 nres = fuse_send_write(ia, pos, nbytes, owner);
1487 nres = fuse_send_read(ia, pos, nbytes, owner);
1504 pos += nres;
1519 *ppos = pos;
2256 loff_t pos, unsigned len, unsigned flags,
2259 pgoff_t index = pos >> PAGE_SHIFT;
2280 if (fsize <= (pos & PAGE_MASK)) {
2281 size_t off = pos & ~PAGE_MASK;
2301 loff_t pos, unsigned len, unsigned copied,
2312 size_t endoff = (pos + copied) & ~PAGE_MASK;
2318 fuse_write_update_size(inode, pos + copied);
3169 loff_t pos = 0;
3176 pos = offset;
3226 ret = fuse_direct_io(io, iter, &pos, FUSE_DIO_WRITE);
3229 ret = __fuse_direct_read(io, iter, &pos);
3250 fuse_write_update_size(inode, pos);