Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a29591c4 authored by Akinobu Mita's avatar Akinobu Mita Committed by Heiko Carstens
Browse files

[S390] s390: use simple_read_from_buffer()

parent d9cef21a
Loading
Loading
Loading
Loading
+10 −19
Original line number Diff line number Diff line
@@ -150,33 +150,24 @@ static ssize_t hypfs_aio_read(struct kiocb *iocb, const struct iovec *iov,
			      unsigned long nr_segs, loff_t offset)
{
	char *data;
	size_t len;
	ssize_t ret;
	struct file *filp = iocb->ki_filp;
	/* XXX: temporary */
	char __user *buf = iov[0].iov_base;
	size_t count = iov[0].iov_len;

	if (nr_segs != 1) {
		count = -EINVAL;
		goto out;
	}
	if (nr_segs != 1)
		return -EINVAL;

	data = filp->private_data;
	len = strlen(data);
	if (offset > len) {
		count = 0;
		goto out;
	}
	if (count > len - offset)
		count = len - offset;
	if (copy_to_user(buf, data + offset, count)) {
		count = -EFAULT;
		goto out;
	}
	iocb->ki_pos += count;
	ret = simple_read_from_buffer(buf, count, &offset, data, strlen(data));
	if (ret <= 0)
		return ret;

	iocb->ki_pos += ret;
	file_accessed(filp);
out:
	return count;

	return ret;
}
static ssize_t hypfs_aio_write(struct kiocb *iocb, const struct iovec *iov,
			      unsigned long nr_segs, loff_t offset)