From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: getdents and dentry cache Date: Fri, 31 May 2013 18:10:44 +0100 Message-ID: <20130531171044.GI25399@ZenIV.linux.org.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "linux-fsdevel@vger.kernel.org" To: TR Reardon Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:38715 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753637Ab3EaRKq (ORCPT ); Fri, 31 May 2013 13:10:46 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, May 30, 2013 at 03:07:06PM -0400, TR Reardon wrote: > Just looking for a pointer or a brief history that might make clearer to me what is not currently obvious, having exhaustively scanned through this list and kernel source. ? > > For filesystems such as ext2/3/4, getdents() just calls down to the underlying filesystem which in turns calls into the disk pagecache. ?Why is getdents() not instead serviced via dcache? Er... Just how would it be serviced via dcache? dcache granularity is one entry; getdents() is used to give _all_ entries in directory, present in dcache or not. Moreover, how would you get them in the right order, even if all of them were present in dcache?