From: David Teigland Subject: Re: [PATCH 03/16] GFS: core fs Date: Tue, 11 Oct 2005 09:55:52 -0500 Message-ID: <20051011145552.GA8812@redhat.com> References: <20051010171002.GD22483@redhat.com> <20051010213928.GB2475@elf.ucw.cz> <20051011121525.GC16249@djinn> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-kernel@vger.kernel.org, akpm@osdl.org, linux-fsdevel@vger.kernel.org Return-path: To: Jan Hudec , Pavel Machek Content-Disposition: inline In-Reply-To: <20051011121525.GC16249@djinn> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Oct 11, 2005 at 02:15:25PM +0200, Jan Hudec wrote: > On Mon, Oct 10, 2005 at 23:39:28 +0200, Pavel Machek wrote: > > > + for (head = &ai->ai_ail1_list, tmp = head->prev, prev = tmp->prev; > > > + tmp != head; > > > + tmp = prev, prev = tmp->prev) { > > > > > > > + for (head = &ai->ai_ail1_list, tmp = head->prev, prev = tmp->prev; > > > + tmp != head; > > > + tmp = prev, prev = tmp->prev) { > > > > > > Can you get less creative in the for loops? [There are more examples > > at other patches, for (i=something; i--; ) was "nicest" example]. > > The later two are good examples of where list_for_each_safe is > appropriate. There are multiple places like this that need either a list_for_each_entry_reverse_safe or list_for_each_prev_safe, neither of which exist. I'll send a patch to add one. I've just converted to a macro in ail2_empty() -- I'm not sure why I'd left it out in that spot, maybe to be consistent with ail1_empty above. Thanks, Dave