2019-01-30 15:39:36

by Cyrill Gorcunov

[permalink] [raw]
Subject: [PATCH next] fs/splice: iter_to_pipe -- Use PIPE_DEF_BUFFERS instead of hardcoded number

And use ARRAY_SIZE for easier code modification if we ever need in future.

CC: Al Viro <[email protected]>
Signed-off-by: Cyrill Gorcunov <[email protected]>
---
fs/splice.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-next.git/fs/splice.c
===================================================================
--- linux-next.git.orig/fs/splice.c
+++ linux-next.git/fs/splice.c
@@ -1203,12 +1203,12 @@ static int iter_to_pipe(struct iov_iter
bool failed = false;

while (iov_iter_count(from) && !failed) {
- struct page *pages[16];
+ struct page *pages[PIPE_DEF_BUFFERS];
ssize_t copied;
size_t start;
int n;

- copied = iov_iter_get_pages(from, pages, ~0UL, 16, &start);
+ copied = iov_iter_get_pages(from, pages, ~0UL, ARRAY_SIZE(pages), &start);
if (copied <= 0) {
ret = copied;
break;


2019-01-30 15:43:20

by Al Viro

[permalink] [raw]
Subject: Re: [PATCH next] fs/splice: iter_to_pipe -- Use PIPE_DEF_BUFFERS instead of hardcoded number

On Wed, Jan 30, 2019 at 06:39:11PM +0300, Cyrill Gorcunov wrote:
> And use ARRAY_SIZE for easier code modification if we ever need in future.

Umm... Why PIPE_DEF_BUFFERS, though? Because it's a constant from more or
less the same area that happens to be equal to the value we use here?

2019-01-30 15:49:22

by Cyrill Gorcunov

[permalink] [raw]
Subject: Re: [PATCH next] fs/splice: iter_to_pipe -- Use PIPE_DEF_BUFFERS instead of hardcoded number

On Wed, Jan 30, 2019 at 03:42:45PM +0000, Al Viro wrote:
> On Wed, Jan 30, 2019 at 06:39:11PM +0300, Cyrill Gorcunov wrote:
> > And use ARRAY_SIZE for easier code modification if we ever need in future.
>
> Umm... Why PIPE_DEF_BUFFERS, though? Because it's a constant from more or
> less the same area that happens to be equal to the value we use here?

Yes. Since plain 16 value completely unclear where it comes from. I looked
into your commit which made this change and seems previously we've had this
constant related (79fddc4efd5d4de5cf210fe5ecf4d2734140849a). Am I wrong?

2019-01-30 16:27:24

by Cyrill Gorcunov

[permalink] [raw]
Subject: Re: [PATCH next] fs/splice: iter_to_pipe -- Use PIPE_DEF_BUFFERS instead of hardcoded number

On Wed, Jan 30, 2019 at 06:48:51PM +0300, Cyrill Gorcunov wrote:
> On Wed, Jan 30, 2019 at 03:42:45PM +0000, Al Viro wrote:
> > On Wed, Jan 30, 2019 at 06:39:11PM +0300, Cyrill Gorcunov wrote:
> > > And use ARRAY_SIZE for easier code modification if we ever need in future.
> >
> > Umm... Why PIPE_DEF_BUFFERS, though? Because it's a constant from more or
> > less the same area that happens to be equal to the value we use here?
>
> Yes. Since plain 16 value completely unclear where it comes from. I looked
> into your commit which made this change and seems previously we've had this
> constant related (79fddc4efd5d4de5cf210fe5ecf4d2734140849a). Am I wrong?

Thinking more I'm more convinced that i'm wrong. Also it is related to
this default size, the code can pretty well use (alsmost) any other
constant here. Al, drop it please.