On 06/28/2012 04:56 PM, MORITA Kazutaka wrote: > At Thu, 28 Jun 2012 16:00:22 +0800, > Yunkai Zhang wrote: >> >> On Thu, Jun 28, 2012 at 3:05 PM, Liu Yuan <namei.unix at gmail.com> wrote: >>> On 06/28/2012 11:54 AM, Yunkai Zhang wrote: >>>> if (!list_empty(&ci->conn.blocking_siblings)) >>> >>> I don't think list_empty(entry) is valid check. Looks weird to me, >>> list_empty() is used to check if list is empty, not entry. It seems that >>> list.h doesn't provide helper to check if entry is in the list. We >>> should use other filed to check or provide a new dedicated helper. >> >> I don't think so. Each _ENTRY_ of double-linked circular list has the >> same attributes. There are no differences between _HEAD_ and other >> entries. We can treat each _ENTRY_ as another _HEAD_, so why can't we >> use list_emtpy() to check it as long as we do the prepare work >> correctly? > > It looks strange to me to use list_empty against entry, but we need a > fix for 0.4.0 release. Yuan, how about merging this patch for now, > and cleaning up after the release? > Let's wait for Christoph's comment to see if he has any smarter alternative. I have taken a glance at the Linux kernel's list.h and didn't find a helper that check if entry is added or not either. If we don't come up with any better method, let's merge it tomorrow. Thanks, Yuan |