diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2016-09-27 10:45:12 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-10-05 18:23:59 -0400 |
commit | fba597db4218ac324eee34b64736ea94829c95bf (patch) | |
tree | 1f1a653fe362d94719d40c175e11e2aaa91d9c03 /fs/pipe.c | |
parent | a779638cf622f069a484e8802134cca3c6c71415 (diff) | |
download | linux-stable-fba597db4218ac324eee34b64736ea94829c95bf.tar.gz linux-stable-fba597db4218ac324eee34b64736ea94829c95bf.tar.bz2 linux-stable-fba597db4218ac324eee34b64736ea94829c95bf.zip |
pipe: add pipe_buf_confirm() helper
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/pipe.c')
-rw-r--r-- | fs/pipe.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/pipe.c b/fs/pipe.c index 67b5f1923835..4fc422f0dea8 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -267,7 +267,6 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to) if (bufs) { int curbuf = pipe->curbuf; struct pipe_buffer *buf = pipe->bufs + curbuf; - const struct pipe_buf_operations *ops = buf->ops; size_t chars = buf->len; size_t written; int error; @@ -275,7 +274,7 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to) if (chars > total_len) chars = total_len; - error = ops->confirm(pipe, buf); + error = pipe_buf_confirm(pipe, buf); if (error) { if (!ret) ret = error; @@ -382,11 +381,10 @@ pipe_write(struct kiocb *iocb, struct iov_iter *from) int lastbuf = (pipe->curbuf + pipe->nrbufs - 1) & (pipe->buffers - 1); struct pipe_buffer *buf = pipe->bufs + lastbuf; - const struct pipe_buf_operations *ops = buf->ops; int offset = buf->offset + buf->len; - if (ops->can_merge && offset + chars <= PAGE_SIZE) { - ret = ops->confirm(pipe, buf); + if (buf->ops->can_merge && offset + chars <= PAGE_SIZE) { + ret = pipe_buf_confirm(pipe, buf); if (ret) goto out; |