diff mbox

[1/1,linux-next] jffs2: remove multiple dereferences in debug

Message ID 1425409389-21613-1-git-send-email-fabf@skynet.be
State Rejected
Headers show

Commit Message

Fabian Frederick March 3, 2015, 7:03 p.m. UTC
use jffs2_eraseblock variables to simplify the code

Signed-off-by: Fabian Frederick <fabf@skynet.be>
---
 fs/jffs2/debug.c |   26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

Comments

David Woodhouse March 3, 2015, 7:44 p.m. UTC | #1
On Tue, 2015-03-03 at 20:03 +0100, Fabian Frederick wrote:
> use jffs2_eraseblock variables to simplify the code

That looks more like it's obfuscating the code to me. Now you have to
look up a few lines to see what the 'nextb' and 'gcb' variables actually
point to.

It doesn't even make it easier to read — if there were long lines with
complex formulæ it might make some sense, but in this case I think
there's really no point in this change.


> Signed-off-by: Fabian Frederick <fabf@skynet.be>
> ---
>  fs/jffs2/debug.c |   26 ++++++++++++++------------
>  1 file changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/fs/jffs2/debug.c b/fs/jffs2/debug.c
> index 1090eb6..2ddb967 100644
> --- a/fs/jffs2/debug.c
> +++ b/fs/jffs2/debug.c
> @@ -160,26 +160,28 @@ __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
>  void __jffs2_dbg_superblock_counts(struct jffs2_sb_info *c)
>  {
>  	struct jffs2_eraseblock *jeb;
> +	struct jffs2_eraseblock *gcb = c->gcblock;
> +	struct jffs2_eraseblock *nextb = c->nextblock;
>  	uint32_t free = 0, dirty = 0, used = 0, wasted = 0,
>  		erasing = 0, bad = 0, unchecked = 0;
>  	int nr_counted = 0;
>  	int dump = 0;
>  
> -	if (c->gcblock) {
> +	if (gcb) {
>  		nr_counted++;
> -		free += c->gcblock->free_size;
> -		dirty += c->gcblock->dirty_size;
> -		used += c->gcblock->used_size;
> -		wasted += c->gcblock->wasted_size;
> -		unchecked += c->gcblock->unchecked_size;
> +		free += gcb->free_size;
> +		dirty += gcb->dirty_size;
> +		used += gcb->used_size;
> +		wasted += gcb->wasted_size;
> +		unchecked += gcb->unchecked_size;
>  	}
> -	if (c->nextblock) {
> +	if (nextb) {
>  		nr_counted++;
> -		free += c->nextblock->free_size;
> -		dirty += c->nextblock->dirty_size;
> -		used += c->nextblock->used_size;
> -		wasted += c->nextblock->wasted_size;
> -		unchecked += c->nextblock->unchecked_size;
> +		free += nextb->free_size;
> +		dirty += nextb->dirty_size;
> +		used += nextb->used_size;
> +		wasted += nextb->wasted_size;
> +		unchecked += nextb->unchecked_size;
>  	}
>  	list_for_each_entry(jeb, &c->clean_list, list) {
>  		nr_counted++;
Nicholas Krause March 3, 2015, 8:48 p.m. UTC | #2
On March 3, 2015 2:44:24 PM EST, David Woodhouse <dwmw2@infradead.org> wrote:
>On Tue, 2015-03-03 at 20:03 +0100, Fabian Frederick wrote:
>> use jffs2_eraseblock variables to simplify the code
>
>That looks more like it's obfuscating the code to me. Now you have to
>look up a few lines to see what the 'nextb' and 'gcb' variables
>actually
>point to.
>
>It doesn't even make it easier to read — if there were long lines with
>complex formulæ it might make some sense, but in this case I think
>there's really no point in this change.
>
I have  to agree with maintainer too as after reading the patch I found the code harder to understand too. 
Nick 
>
>> Signed-off-by: Fabian Frederick <fabf@skynet.be>
>> ---
>>  fs/jffs2/debug.c |   26 ++++++++++++++------------
>>  1 file changed, 14 insertions(+), 12 deletions(-)
>> 
>> diff --git a/fs/jffs2/debug.c b/fs/jffs2/debug.c
>> index 1090eb6..2ddb967 100644
>> --- a/fs/jffs2/debug.c
>> +++ b/fs/jffs2/debug.c
>> @@ -160,26 +160,28 @@ __jffs2_dbg_prewrite_paranoia_check(struct
>jffs2_sb_info *c,
>>  void __jffs2_dbg_superblock_counts(struct jffs2_sb_info *c)
>>  {
>>  	struct jffs2_eraseblock *jeb;
>> +	struct jffs2_eraseblock *gcb = c->gcblock;
>> +	struct jffs2_eraseblock *nextb = c->nextblock;
>>  	uint32_t free = 0, dirty = 0, used = 0, wasted = 0,
>>  		erasing = 0, bad = 0, unchecked = 0;
>>  	int nr_counted = 0;
>>  	int dump = 0;
>>  
>> -	if (c->gcblock) {
>> +	if (gcb) {
>>  		nr_counted++;
>> -		free += c->gcblock->free_size;
>> -		dirty += c->gcblock->dirty_size;
>> -		used += c->gcblock->used_size;
>> -		wasted += c->gcblock->wasted_size;
>> -		unchecked += c->gcblock->unchecked_size;
>> +		free += gcb->free_size;
>> +		dirty += gcb->dirty_size;
>> +		used += gcb->used_size;
>> +		wasted += gcb->wasted_size;
>> +		unchecked += gcb->unchecked_size;
>>  	}
>> -	if (c->nextblock) {
>> +	if (nextb) {
>>  		nr_counted++;
>> -		free += c->nextblock->free_size;
>> -		dirty += c->nextblock->dirty_size;
>> -		used += c->nextblock->used_size;
>> -		wasted += c->nextblock->wasted_size;
>> -		unchecked += c->nextblock->unchecked_size;
>> +		free += nextb->free_size;
>> +		dirty += nextb->dirty_size;
>> +		used += nextb->used_size;
>> +		wasted += nextb->wasted_size;
>> +		unchecked += nextb->unchecked_size;
>>  	}
>>  	list_for_each_entry(jeb, &c->clean_list, list) {
>>  		nr_counted++;
diff mbox

Patch

diff --git a/fs/jffs2/debug.c b/fs/jffs2/debug.c
index 1090eb6..2ddb967 100644
--- a/fs/jffs2/debug.c
+++ b/fs/jffs2/debug.c
@@ -160,26 +160,28 @@  __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
 void __jffs2_dbg_superblock_counts(struct jffs2_sb_info *c)
 {
 	struct jffs2_eraseblock *jeb;
+	struct jffs2_eraseblock *gcb = c->gcblock;
+	struct jffs2_eraseblock *nextb = c->nextblock;
 	uint32_t free = 0, dirty = 0, used = 0, wasted = 0,
 		erasing = 0, bad = 0, unchecked = 0;
 	int nr_counted = 0;
 	int dump = 0;
 
-	if (c->gcblock) {
+	if (gcb) {
 		nr_counted++;
-		free += c->gcblock->free_size;
-		dirty += c->gcblock->dirty_size;
-		used += c->gcblock->used_size;
-		wasted += c->gcblock->wasted_size;
-		unchecked += c->gcblock->unchecked_size;
+		free += gcb->free_size;
+		dirty += gcb->dirty_size;
+		used += gcb->used_size;
+		wasted += gcb->wasted_size;
+		unchecked += gcb->unchecked_size;
 	}
-	if (c->nextblock) {
+	if (nextb) {
 		nr_counted++;
-		free += c->nextblock->free_size;
-		dirty += c->nextblock->dirty_size;
-		used += c->nextblock->used_size;
-		wasted += c->nextblock->wasted_size;
-		unchecked += c->nextblock->unchecked_size;
+		free += nextb->free_size;
+		dirty += nextb->dirty_size;
+		used += nextb->used_size;
+		wasted += nextb->wasted_size;
+		unchecked += nextb->unchecked_size;
 	}
 	list_for_each_entry(jeb, &c->clean_list, list) {
 		nr_counted++;