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

Commit cac36bb0 authored by Jens Axboe's avatar Jens Axboe
Browse files

pipe: change the ->pin() operation to ->confirm()



The name 'pin' was badly chosen, it doesn't pin a pipe buffer
in the most commonly used sense in the kernel. So change the
name to 'confirm', after debating this issue with Hugh
Dickins a bit.

A good return from ->confirm() means that the buffer is really
there, and that the contents are good.

Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent d96e6e71
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -412,7 +412,7 @@ lo_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
	size_t size;
	int ret;

	ret = buf->ops->pin(pipe, buf);
	ret = buf->ops->confirm(pipe, buf);
	if (unlikely(ret))
		return ret;

+1 −1
Original line number Diff line number Diff line
@@ -815,7 +815,7 @@ nfsd_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
	size_t size;
	int ret;

	ret = buf->ops->pin(pipe, buf);
	ret = buf->ops->confirm(pipe, buf);
	if (unlikely(ret))
		return ret;

+2 −2
Original line number Diff line number Diff line
@@ -1583,7 +1583,7 @@ static int ocfs2_splice_write_actor(struct pipe_inode_info *pipe,
	ssize_t copied = 0;
	struct ocfs2_splice_write_priv sp;

	ret = buf->ops->pin(pipe, buf);
	ret = buf->ops->confirm(pipe, buf);
	if (ret)
		goto out;

@@ -1604,7 +1604,7 @@ static int ocfs2_splice_write_actor(struct pipe_inode_info *pipe,
		 * might enter ocfs2_buffered_write_cluster() more
		 * than once, so keep track of our progress here.
		 */
		copied = ocfs2_buffered_write_cluster(sd->file,
		copied = ocfs2_buffered_write_cluster(sd->u.file,
						      (loff_t)sd->pos + total,
						      count,
						      ocfs2_map_and_write_splice_data,
+5 −4
Original line number Diff line number Diff line
@@ -203,7 +203,8 @@ void generic_pipe_buf_get(struct pipe_inode_info *info, struct pipe_buffer *buf)
	page_cache_get(buf->page);
}

int generic_pipe_buf_pin(struct pipe_inode_info *info, struct pipe_buffer *buf)
int generic_pipe_buf_confirm(struct pipe_inode_info *info,
			     struct pipe_buffer *buf)
{
	return 0;
}
@@ -212,7 +213,7 @@ static const struct pipe_buf_operations anon_pipe_buf_ops = {
	.can_merge = 1,
	.map = generic_pipe_buf_map,
	.unmap = generic_pipe_buf_unmap,
	.pin = generic_pipe_buf_pin,
	.confirm = generic_pipe_buf_confirm,
	.release = anon_pipe_buf_release,
	.steal = generic_pipe_buf_steal,
	.get = generic_pipe_buf_get,
@@ -252,7 +253,7 @@ pipe_read(struct kiocb *iocb, const struct iovec *_iov,
			if (chars > total_len)
				chars = total_len;

			error = ops->pin(pipe, buf);
			error = ops->confirm(pipe, buf);
			if (error) {
				if (!ret)
					error = ret;
@@ -373,7 +374,7 @@ pipe_write(struct kiocb *iocb, const struct iovec *_iov,
			int error, atomic = 1;
			void *addr;

			error = ops->pin(pipe, buf);
			error = ops->confirm(pipe, buf);
			if (error)
				goto out;

+7 −7
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ static void page_cache_pipe_buf_release(struct pipe_inode_info *pipe,
	buf->flags &= ~PIPE_BUF_FLAG_LRU;
}

static int page_cache_pipe_buf_pin(struct pipe_inode_info *pipe,
static int page_cache_pipe_buf_confirm(struct pipe_inode_info *pipe,
				       struct pipe_buffer *buf)
{
	struct page *page = buf->page;
@@ -127,7 +127,7 @@ static const struct pipe_buf_operations page_cache_pipe_buf_ops = {
	.can_merge = 0,
	.map = generic_pipe_buf_map,
	.unmap = generic_pipe_buf_unmap,
	.pin = page_cache_pipe_buf_pin,
	.confirm = page_cache_pipe_buf_confirm,
	.release = page_cache_pipe_buf_release,
	.steal = page_cache_pipe_buf_steal,
	.get = generic_pipe_buf_get,
@@ -147,7 +147,7 @@ static const struct pipe_buf_operations user_page_pipe_buf_ops = {
	.can_merge = 0,
	.map = generic_pipe_buf_map,
	.unmap = generic_pipe_buf_unmap,
	.pin = generic_pipe_buf_pin,
	.confirm = generic_pipe_buf_confirm,
	.release = page_cache_pipe_buf_release,
	.steal = user_page_pipe_buf_steal,
	.get = generic_pipe_buf_get,
@@ -525,7 +525,7 @@ static int pipe_to_sendpage(struct pipe_inode_info *pipe,
	loff_t pos = sd->pos;
	int ret, more;

	ret = buf->ops->pin(pipe, buf);
	ret = buf->ops->confirm(pipe, buf);
	if (!ret) {
		more = (sd->flags & SPLICE_F_MORE) || sd->len < sd->total_len;

@@ -569,7 +569,7 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
	/*
	 * make sure the data in this buffer is uptodate
	 */
	ret = buf->ops->pin(pipe, buf);
	ret = buf->ops->confirm(pipe, buf);
	if (unlikely(ret))
		return ret;

@@ -1341,7 +1341,7 @@ static int pipe_to_user(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
	char *src;
	int ret;

	ret = buf->ops->pin(pipe, buf);
	ret = buf->ops->confirm(pipe, buf);
	if (unlikely(ret))
		return ret;

Loading