From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xin Zhao" Subject: Re: question regarding the Linux block device cache Date: Fri, 9 Mar 2007 18:58:55 -0500 Message-ID: <4ae3c140703091558p5e6625a9t3d2798fd67e7ac1a@mail.gmail.com> References: <4ae3c140703091424i25a0a3fcm6ba9d7bf348d04b6@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: linux-kernel , linux-fsdevel Return-path: Received: from nf-out-0910.google.com ([64.233.182.191]:48102 "EHLO nf-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1767597AbXCIX66 (ORCPT ); Fri, 9 Mar 2007 18:58:58 -0500 Received: by nf-out-0910.google.com with SMTP id o25so1267492nfa for ; Fri, 09 Mar 2007 15:58:57 -0800 (PST) In-Reply-To: <4ae3c140703091424i25a0a3fcm6ba9d7bf348d04b6@mail.gmail.com> Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org I read the code and found that a block buffer is not necessarily freed even if the corresponding inode is released. Looks like block buffer can stay around as long as the system still has free memory. Is my understanding correct? -x On 3/9/07, Xin Zhao wrote: > Hi, > > I am working on a file system that allow multiple files to share data > blocks. That is, a data block can be shared by two or more files. Now > my question is: suppose file A and B share the same data block D. Now > a process open file A and read block D, then this process closes file > A. If another process open file B and read block D right after the > first process closes A, is the data of block D read from some cache or > has to be loaded from disk again? I think this has to do with the > Linux block device buffer cache. But I am not quite familiar with this > part. > > Can someone help me or direct me to the right place to find the answer? > > Thanks in advance! > > -x >