public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch-kj] use list_for_each() in fs/jffs/intrep.c
@ 2004-07-23 15:55 maximilian attems
  2004-07-23 16:17 ` Christoph Hellwig
  0 siblings, 1 reply; 5+ messages in thread
From: maximilian attems @ 2004-07-23 15:55 UTC (permalink / raw)
  To: jffs-dev; +Cc: linux-kernel


Use list_for_each() where applicable
- for (list = ymf_devs.next; list != &ymf_devs; list = list->next) {
+ list_for_each(list, &ymf_devs) {
pure cosmetic change, defined as a preprocessor macro in:
include/linux/list.h

applies cleanly to 2.6.8-rc2

From: Domen Puncer <domen@coderock.org>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>



---

 linux-2.6.7-bk20-max/fs/jffs/intrep.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff -puN fs/jffs/intrep.c~list_for_each-fs-jffs fs/jffs/intrep.c
--- linux-2.6.7-bk20/fs/jffs/intrep.c~list_for_each-fs-jffs	2004-07-11 14:41:04.000000000 +0200
+++ linux-2.6.7-bk20-max/fs/jffs/intrep.c	2004-07-11 14:41:04.000000000 +0200
@@ -1623,7 +1623,7 @@ jffs_find_file(struct jffs_control *c, _
 
 	D3(printk("jffs_find_file(): ino: %u\n", ino));
 
-	for (tmp = c->hash[i].next; tmp != &c->hash[i]; tmp = tmp->next) {
+	list_for_each(tmp, &c->hash[i]) {
 		f = list_entry(tmp, struct jffs_file, hash);
 		if (ino != f->ino)
 			continue;
@@ -2021,11 +2021,10 @@ jffs_foreach_file(struct jffs_control *c
 
 	for (pos = 0; pos < c->hash_len; pos++) {
 		struct list_head *p, *next;
-		for (p = c->hash[pos].next; p != &c->hash[pos]; p = next) {
-			/* We need a reference to the next file in the
-			   list because `func' might remove the current
-			   file `f'.  */
-			next = p->next;
+
+		/* We must do _safe, because 'func' might remove the
+		   current file 'f' from the list.  */
+		list_for_each_safe(p, next, &c->hash[pos]) {
 			r = func(list_entry(p, struct jffs_file, hash));
 			if (r < 0)
 				return r;
@@ -2590,7 +2589,7 @@ jffs_print_hash_table(struct jffs_contro
 	printk("JFFS: Dumping the file system's hash table...\n");
 	for (i = 0; i < c->hash_len; i++) {
 		struct list_head *p;
-		for (p = c->hash[i].next; p != &c->hash[i]; p = p->next) {
+		list_for_each(p, &c->hash[i]) {
 			struct jffs_file *f=list_entry(p,struct jffs_file,hash);
 			printk("*** c->hash[%u]: \"%s\" "
 			       "(ino: %u, pino: %u)\n",


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

* Re: [patch-kj] use list_for_each() in fs/jffs/intrep.c
  2004-07-23 15:55 [patch-kj] use list_for_each() in fs/jffs/intrep.c maximilian attems
@ 2004-07-23 16:17 ` Christoph Hellwig
  2004-07-23 19:02   ` Domen Puncer
  2004-07-25 12:15   ` maximilian attems
  0 siblings, 2 replies; 5+ messages in thread
From: Christoph Hellwig @ 2004-07-23 16:17 UTC (permalink / raw)
  To: maximilian attems; +Cc: jffs-dev, linux-kernel

On Fri, Jul 23, 2004 at 05:55:28PM +0200, maximilian attems wrote:
> 
> Use list_for_each() where applicable
> - for (list = ymf_devs.next; list != &ymf_devs; list = list->next) {
> + list_for_each(list, &ymf_devs) {
> pure cosmetic change, defined as a preprocessor macro in:
> include/linux/list.h
> 
> applies cleanly to 2.6.8-rc2
> 
> From: Domen Puncer <domen@coderock.org>
> Signed-off-by: Maximilian Attems <janitor@sternwelten.at>

Please switch to list_for_each_entry while you're at it.

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

* Re: [patch-kj] use list_for_each() in fs/jffs/intrep.c
  2004-07-23 16:17 ` Christoph Hellwig
@ 2004-07-23 19:02   ` Domen Puncer
  2004-07-29 11:33     ` Domen Puncer
  2004-07-25 12:15   ` maximilian attems
  1 sibling, 1 reply; 5+ messages in thread
From: Domen Puncer @ 2004-07-23 19:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: jffs-dev

Hi.

On Fri, 23 Jul 2004 17:17:24 +0100, Christoph Hellwig wrote:

> On Fri, Jul 23, 2004 at 05:55:28PM +0200, maximilian attems wrote:
>> 
>> Use list_for_each() where applicable
>> - for (list = ymf_devs.next; list != &ymf_devs; list = list->next) {
>> + list_for_each(list, &ymf_devs) {
>> pure cosmetic change, defined as a preprocessor macro in:
>> include/linux/list.h
>> 
>> applies cleanly to 2.6.8-rc2
>> 
>> From: Domen Puncer <domen@coderock.org>
>> Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
> 
> Please switch to list_for_each_entry while you're at it.

Jup, list_for_each_entry is nicer.
(first time posting trough gmane, hope it works)

Compile tested


Signed-off-by: Domen Puncer <domen@coderock.org>

--- c/fs/jffs/intrep.c	Wed Jul 14 19:15:11 2004
+++ a/fs/jffs/intrep.c	Fri Jul 23 20:08:55 2004
@@ -1619,12 +1619,10 @@
 {
 	struct jffs_file *f;
 	int i = ino % c->hash_len;
-	struct list_head *tmp;
 
 	D3(printk("jffs_find_file(): ino: %u\n", ino));
 
-	for (tmp = c->hash[i].next; tmp != &c->hash[i]; tmp = tmp->next) {
-		f = list_entry(tmp, struct jffs_file, hash);
+	list_for_each_entry(f, c->hash[i].next, hash) {
 		if (ino != f->ino)
 			continue;
 		D3(printk("jffs_find_file(): Found file with ino "
@@ -2020,13 +2018,12 @@
 	int result = 0;
 
 	for (pos = 0; pos < c->hash_len; pos++) {
-		struct list_head *p, *next;
-		for (p = c->hash[pos].next; p != &c->hash[pos]; p = next) {
-			/* We need a reference to the next file in the
-			   list because `func' might remove the current
-			   file `f'.  */
-			next = p->next;
-			r = func(list_entry(p, struct jffs_file, hash));
+		struct jffs_file *f, *next;
+
+		/* We must do _safe, because 'func' might remove the
+		   current file 'f' from the list.  */
+		list_for_each_entry_safe(f, next, &c->hash[pos], hash) {
+			r = func(f);
 			if (r < 0)
 				return r;
 			result += r;
@@ -2589,9 +2586,8 @@
 
 	printk("JFFS: Dumping the file system's hash table...\n");
 	for (i = 0; i < c->hash_len; i++) {
-		struct list_head *p;
-		for (p = c->hash[i].next; p != &c->hash[i]; p = p->next) {
-			struct jffs_file *f=list_entry(p,struct jffs_file,hash);
+		struct jffs_file *f;
+		list_for_each_entry(f, &c->hash[i], hash) {
 			printk("*** c->hash[%u]: \"%s\" "
 			       "(ino: %u, pino: %u)\n",
 			       i, (f->name ? f->name : ""),



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

* Re: [patch-kj] use list_for_each() in fs/jffs/intrep.c
  2004-07-23 16:17 ` Christoph Hellwig
  2004-07-23 19:02   ` Domen Puncer
@ 2004-07-25 12:15   ` maximilian attems
  1 sibling, 0 replies; 5+ messages in thread
From: maximilian attems @ 2004-07-25 12:15 UTC (permalink / raw)
  To: Christoph Hellwig, jffs-dev, linux-kernel

On Fri, 23 Jul 2004, Christoph Hellwig wrote:

> On Fri, Jul 23, 2004 at 05:55:28PM +0200, maximilian attems wrote:
> > 
> > Use list_for_each() where applicable
> > - for (list = ymf_devs.next; list != &ymf_devs; list = list->next) {
> > + list_for_each(list, &ymf_devs) {
> > pure cosmetic change, defined as a preprocessor macro in:
> > include/linux/list.h
> > 
> > applies cleanly to 2.6.8-rc2
> > 
> > From: Domen Puncer <domen@coderock.org>
> > Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
> 
> Please switch to list_for_each_entry while you're at it.

thx will look through the patches that needs that.
a++ maks


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

* Re: [patch-kj] use list_for_each() in fs/jffs/intrep.c
  2004-07-23 19:02   ` Domen Puncer
@ 2004-07-29 11:33     ` Domen Puncer
  0 siblings, 0 replies; 5+ messages in thread
From: Domen Puncer @ 2004-07-29 11:33 UTC (permalink / raw)
  To: linux-kernel; +Cc: jffs-dev

In gmane.linux.kernel Domen Puncer <domen@coderock.org> wrote:
> Hi.
> 
> On Fri, 23 Jul 2004 17:17:24 +0100, Christoph Hellwig wrote:
> 
>> On Fri, Jul 23, 2004 at 05:55:28PM +0200, maximilian attems wrote:
>>> 
>>> Use list_for_each() where applicable
>>> - for (list = ymf_devs.next; list != &ymf_devs; list = list->next) {
>>> + list_for_each(list, &ymf_devs) {
>>> pure cosmetic change, defined as a preprocessor macro in:
>>> include/linux/list.h
>>> 
>>> applies cleanly to 2.6.8-rc2
>>> 
>>> From: Domen Puncer <domen@coderock.org>
>>> Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
>> 
>> Please switch to list_for_each_entry while you're at it.
> 
> Jup, list_for_each_entry is nicer.
> (first time posting trough gmane, hope it works)
> 
> Compile tested

But wrong (sorry), here is the fixed patch:
(This, along with some other list_for_each_entry patches will also be posted
 to kernel-janitor ml)


Use list_for_each_entry to make code more readable.
Compile tested.


Signed-off-by: Domen Puncer <domen@coderock.org>

--- c/fs/jffs/intrep.c	Wed Jul 14 19:15:11 2004
+++ list_for_each/fs/jffs/intrep.c	Wed Jul 28 20:34:06 2004
@@ -1619,12 +1619,10 @@
 {
 	struct jffs_file *f;
 	int i = ino % c->hash_len;
-	struct list_head *tmp;
 
 	D3(printk("jffs_find_file(): ino: %u\n", ino));
 
-	for (tmp = c->hash[i].next; tmp != &c->hash[i]; tmp = tmp->next) {
-		f = list_entry(tmp, struct jffs_file, hash);
+	list_for_each_entry(f, &c->hash[i], hash) {
 		if (ino != f->ino)
 			continue;
 		D3(printk("jffs_find_file(): Found file with ino "
@@ -2020,13 +2018,12 @@
 	int result = 0;
 
 	for (pos = 0; pos < c->hash_len; pos++) {
-		struct list_head *p, *next;
-		for (p = c->hash[pos].next; p != &c->hash[pos]; p = next) {
-			/* We need a reference to the next file in the
-			   list because `func' might remove the current
-			   file `f'.  */
-			next = p->next;
-			r = func(list_entry(p, struct jffs_file, hash));
+		struct jffs_file *f, *next;
+
+		/* We must do _safe, because 'func' might remove the
+		   current file 'f' from the list.  */
+		list_for_each_entry_safe(f, next, &c->hash[pos], hash) {
+			r = func(f);
 			if (r < 0)
 				return r;
 			result += r;
@@ -2589,9 +2586,8 @@
 
 	printk("JFFS: Dumping the file system's hash table...\n");
 	for (i = 0; i < c->hash_len; i++) {
-		struct list_head *p;
-		for (p = c->hash[i].next; p != &c->hash[i]; p = p->next) {
-			struct jffs_file *f=list_entry(p,struct jffs_file,hash);
+		struct jffs_file *f;
+		list_for_each_entry(f, &c->hash[i], hash) {
 			printk("*** c->hash[%u]: \"%s\" "
 			       "(ino: %u, pino: %u)\n",
 			       i, (f->name ? f->name : ""),


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

end of thread, other threads:[~2004-07-29 11:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-23 15:55 [patch-kj] use list_for_each() in fs/jffs/intrep.c maximilian attems
2004-07-23 16:17 ` Christoph Hellwig
2004-07-23 19:02   ` Domen Puncer
2004-07-29 11:33     ` Domen Puncer
2004-07-25 12:15   ` maximilian attems

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