From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Dilger Subject: Re: stat64 for over 2TB file returned invalid st_blocks Date: Mon, 5 Dec 2005 01:11:21 -0700 Message-ID: <20051205081121.GU14509@schatzie.adilger.int> References: <01e901c5f66e$d4551b70$4168010a@bsd.tnes.nec.co.jp> <1133447539.8557.14.camel@kleikamp.austin.ibm.com> <041701c5f742$d6b0a450$4168010a@bsd.tnes.nec.co.jp> <20051202185805.GS14509@schatzie.adilger.int> <02cd01c5f809$95a94620$4168010a@bsd.tnes.nec.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Dave Kleikamp , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Return-path: To: Takashi Sato Content-Disposition: inline In-Reply-To: <02cd01c5f809$95a94620$4168010a@bsd.tnes.nec.co.jp> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Dec 03, 2005 22:00 +0900, Takashi Sato wrote: > Andreas Dilger wrote: > >Actually, it should probably be "sector_t", because it isn't really > >possible to have a file with more blocks than the size of the block > >device. This avoids memory overhead for small systems that have no > >need for it in a very highly-used struct. It may be for some network > >filesystems that support gigantic non-sparse files they would need to > >enable CONFIG_LBD in order to get support for this. > > I think sector_t is ok for local filesystem as you said. However, > on NFS, there may be over 2TB file on server side, and inode.i_blocks > for over 2TB file will become invalid on client side in case CONFIG_LBD > is disabled. I don't know the exact specs of NFS v2 and v3, but I doubt they can have single files larger than 2TB. Even if they could then this is not a very common situation and if someone is running in such an environment then they can easily enable CONFIG_LBD (or make e.g. CONFIG_NFS_V4 have a dependency to enable this if it is important enough). What I'd rather avoid is needless growth of heavily-used structures for rather uncommon cases (at the current time at least, this can be re-examined later). It might also be possible to have a separate CONFIG_LSF (or whatever) that enables support for large single files, maybe enabled by default with CONFIG_LBD and also configurable separately for clients of network filesystems with large single files. Someone who cares more about the proliferation of configuration options than I can decide whether it makes sense to keep these as separate options. Cheers, Andreas -- Andreas Dilger Principal Software Engineer Cluster File Systems, Inc.