Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754266Ab3FFTmE (ORCPT ); Thu, 6 Jun 2013 15:42:04 -0400 Received: from longford.logfs.org ([213.229.74.203]:59430 "EHLO longford.logfs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753949Ab3FFTmA (ORCPT ); Thu, 6 Jun 2013 15:42:00 -0400 Date: Thu, 6 Jun 2013 14:12:48 -0400 From: =?utf-8?B?SsO2cm4=?= Engel To: Andy Shevchenko Cc: "linux-kernel@vger.kernel.org" , Chris Mason , linux-btrfs@vger.kernel.org Subject: Re: [PATCH 1/2] list: add list_for_each_entry_del Message-ID: <20130606181248.GA17707@logfs.org> References: <1370280485-10047-1-git-send-email-joern@logfs.org> <1370280485-10047-2-git-send-email-joern@logfs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 969 Lines: 26 On Thu, 6 June 2013 22:32:55 +0300, Andy Shevchenko wrote: > On Mon, Jun 3, 2013 at 8:28 PM, Joern Engel wrote: > > I have seen a lot of boilerplate code that either follows the pattern of > > while (!list_empty(head)) { > > pos = list_entry(head->next, struct foo, list); > > list_del(pos->list); > > ... > > } > > or some variant thereof. > > What the problem to use list_for_each_safe()? The loop may terminate with elements left on the list. There is more, but I would consider this the main problem. Jörn -- If you're willing to restrict the flexibility of your approach, you can almost always do something better. -- John Carmack -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/