[PATCH] fs: ramfs: make chunk counting in truncate() better readable

Marcin Niestrój m.niestroj at grinn-global.com
Wed Sep 26 04:09:55 PDT 2018


Sascha Hauer <s.hauer at pengutronix.de> writes:

> In ramfs_truncate() "newchunks" denotes the number of chunks we
> want to have after the call. We decrease that number while iterating
> over the existing chunks and decrease it further with every newly
> allocated chunk until "newchunks" is zero.
> This is a bit hard to read. Instead we drop the decreasing while
> iterating over existing chunks and increase "oldchunks" while allocating
> until it reaches "newchunks".
>
> This is mainly done to make the next patch easier.
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
>  fs/ramfs.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/fs/ramfs.c b/fs/ramfs.c
> index 09dafe02ae..8ba8d77de9 100644
> --- a/fs/ramfs.c
> +++ b/fs/ramfs.c
> @@ -384,19 +384,18 @@ static int ramfs_truncate(struct device_d *dev, FILE *f, ulong size)
>  			if (!node->data)
>  				return -ENOMEM;
>  			data = node->data;
> +			newchunks = 1;
>  		}
>  
> -		newchunks--;
> -		while (data->next) {
> -			newchunks--;
> +		while (data->next)
>  			data = data->next;
> -		}
>  
> -		while (newchunks--) {
> +		while (newchunks > oldchunks) {
>  			data->next = ramfs_get_chunk();
>  			if (!data->next)
>  				return -ENOMEM;
>  			data = data->next;
> +			oldchunks++;
>  		}
>  	}
>  	node->size = size;

Reviewed-by: Marcin Niestroj <m.niestroj at grinn-global.com>

-- 
Marcin Niestrój



More information about the barebox mailing list