From patchwork Fri Dec 17 17:53:55 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "J. Bruce Fields" X-Patchwork-Id: 416691 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oBHHs2gX028740 for ; Fri, 17 Dec 2010 17:54:02 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755317Ab0LQRyA (ORCPT ); Fri, 17 Dec 2010 12:54:00 -0500 Received: from fieldses.org ([174.143.236.118]:52438 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755156Ab0LQRx7 (ORCPT ); Fri, 17 Dec 2010 12:53:59 -0500 Received: from bfields by fieldses.org with local (Exim 4.72) (envelope-from ) id 1PTeV9-000346-KA; Fri, 17 Dec 2010 12:53:55 -0500 Date: Fri, 17 Dec 2010 12:53:55 -0500 From: "J. Bruce Fields" To: Nick Piggin Cc: Alexander Viro , Nick Piggin , linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH] fs/dcache: use standard list macro for d_find_alias Message-ID: <20101217175355.GA11515@fieldses.org> References: <20101112184353.GA32745@fieldses.org> <20101115174837.GB10044@fieldses.org> <20101129193248.GA9897@fieldses.org> <20101203223326.GB28763@fieldses.org> <20101213051944.GA8688@amd> <20101214220102.GM24828@fieldses.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20101214220102.GM24828@fieldses.org> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Fri, 17 Dec 2010 17:54:02 +0000 (UTC) diff --git a/fs/dcache.c b/fs/dcache.c index 23702a9..5ed93cd 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -358,16 +358,9 @@ EXPORT_SYMBOL(dget_locked); static struct dentry * __d_find_alias(struct inode *inode, int want_discon) { - struct list_head *head, *next, *tmp; struct dentry *alias, *discon_alias=NULL; - head = &inode->i_dentry; - next = inode->i_dentry.next; - while (next != head) { - tmp = next; - next = tmp->next; - prefetch(next); - alias = list_entry(tmp, struct dentry, d_alias); + list_for_each_entry(alias, &inode->i_dentry, d_alias) { if (S_ISDIR(inode->i_mode) || !d_unhashed(alias)) { if (IS_ROOT(alias) && (alias->d_flags & DCACHE_DISCONNECTED))