mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] fs: ramfs: make chunk counting in truncate() better readable
@ 2018-09-26  8:10 Sascha Hauer
  2018-09-26 11:09 ` Marcin Niestrój
  0 siblings, 1 reply; 4+ messages in thread
From: Sascha Hauer @ 2018-09-26  8:10 UTC (permalink / raw)
  To: Barebox List; +Cc: Marcin Niestroj

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@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;
-- 
2.19.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-09-27  7:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-26  8:10 [PATCH] fs: ramfs: make chunk counting in truncate() better readable Sascha Hauer
2018-09-26 11:09 ` Marcin Niestrój
2018-09-26 11:22   ` Marcin Niestrój
2018-09-27  7:25     ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox