2006-12-04 16:35:10

by Chen, Kenneth W

[permalink] [raw]
Subject: [patch] kill pointless ki_nbytes assignment in aio_setup_single_vector

io_submit_one assigns ki_left = ki_nbytes = iocb->aio_nbytes, then
calls down to aio_setup_iocb, then to aio_setup_single_vector. In there,
ki_nbytes is reassigned to the same value it got two call stack above it.
There is no need to do so.

Signed-off-by: Ken Chen <[email protected]>


diff -Nurp linux-2.6.19/fs/aio.c linux-2.6.19.ken/fs/aio.c
--- linux-2.6.19/fs/aio.c 2006-12-03 17:16:52.000000000 -0800
+++ linux-2.6.19.ken/fs/aio.c 2006-12-03 17:19:06.000000000 -0800
@@ -1415,7 +1415,6 @@ static ssize_t aio_setup_single_vector(s
kiocb->ki_iovec->iov_len = kiocb->ki_left;
kiocb->ki_nr_segs = 1;
kiocb->ki_cur_seg = 0;
- kiocb->ki_nbytes = kiocb->ki_left;
if (unlikely((ssize_t) kiocb->ki_nbytes < 0))
return -EINVAL;
return 0;


2006-12-04 20:23:11

by Zach Brown

[permalink] [raw]
Subject: Re: [patch] kill pointless ki_nbytes assignment in aio_setup_single_vector

Chen, Kenneth W wrote:
> io_submit_one assigns ki_left = ki_nbytes = iocb->aio_nbytes, then
> calls down to aio_setup_iocb, then to aio_setup_single_vector. In there,
> ki_nbytes is reassigned to the same value it got two call stack above it.
> There is no need to do so.
>
> Signed-off-by: Ken Chen <[email protected]>

That seems to be the case, indeed.

Acked-by: Zach Brown <[email protected]>

- z