* Extent Depth Histogram Fsck @ 2012-06-26 14:34 Nelson, John R 2012-06-26 15:40 ` Andreas Dilger 0 siblings, 1 reply; 5+ messages in thread From: Nelson, John R @ 2012-06-26 14:34 UTC (permalink / raw) To: linux-ext4@vger.kernel.org What does the extent depth histogram mean? Is it a measure of something? like mine is Extent depth histogram: 36010/81 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Extent Depth Histogram Fsck 2012-06-26 14:34 Extent Depth Histogram Fsck Nelson, John R @ 2012-06-26 15:40 ` Andreas Dilger 2012-06-26 18:07 ` Nelson, John R 0 siblings, 1 reply; 5+ messages in thread From: Andreas Dilger @ 2012-06-26 15:40 UTC (permalink / raw) To: Nelson, John R; +Cc: linux-ext4@vger.kernel.org On 2012-06-26, at 8:34 AM, Nelson, John R wrote: > What does the extent depth histogram mean? Is it a measure of something? > > like mine is > > > Extent depth histogram: 36010/81 This means that of all the extent-mapped files in the filesystem, 36010 files have an extent tree of depth 0 (i.e. they fit inside the inode) 81 files have an extent tree of depth 1 (i.e. there is a single index block) Typically, files larger than 4 * 128MB = 512MB need an index block, but if the maximum-sized extents cannot be allocated then an index block will be needed for smaller files. Only if you have very large files (> 40GB), or a very fragmented free space would you need more than a single level of index blocks. Cheers, Andreas ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Extent Depth Histogram Fsck 2012-06-26 15:40 ` Andreas Dilger @ 2012-06-26 18:07 ` Nelson, John R 2012-06-26 20:00 ` Ted Ts'o 2012-06-26 20:07 ` Andreas Dilger 0 siblings, 2 replies; 5+ messages in thread From: Nelson, John R @ 2012-06-26 18:07 UTC (permalink / raw) To: Andreas Dilger; +Cc: linux-ext4@vger.kernel.org ok i see! So when there are like 3/3/4 that means double index blocks?? How many extents can a single extent index hold in a block? ________________________________________ From: Andreas Dilger [adilger@dilger.ca] Sent: Tuesday, June 26, 2012 11:40 AM To: Nelson, John R Cc: linux-ext4@vger.kernel.org Subject: Re: Extent Depth Histogram Fsck On 2012-06-26, at 8:34 AM, Nelson, John R wrote: > What does the extent depth histogram mean? Is it a measure of something? > > like mine is > > > Extent depth histogram: 36010/81 This means that of all the extent-mapped files in the filesystem, 36010 files have an extent tree of depth 0 (i.e. they fit inside the inode) 81 files have an extent tree of depth 1 (i.e. there is a single index block) Typically, files larger than 4 * 128MB = 512MB need an index block, but if the maximum-sized extents cannot be allocated then an index block will be needed for smaller files. Only if you have very large files (> 40GB), or a very fragmented free space would you need more than a single level of index blocks. Cheers, Andreas ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Extent Depth Histogram Fsck 2012-06-26 18:07 ` Nelson, John R @ 2012-06-26 20:00 ` Ted Ts'o 2012-06-26 20:07 ` Andreas Dilger 1 sibling, 0 replies; 5+ messages in thread From: Ted Ts'o @ 2012-06-26 20:00 UTC (permalink / raw) To: Nelson, John R; +Cc: Andreas Dilger, linux-ext4@vger.kernel.org On Tue, Jun 26, 2012 at 06:07:10PM +0000, Nelson, John R wrote: > ok i see! > So when there are like > 3/3/4 that means double index blocks?? How many extents can a single extent index hold in a block? You can put 4 entries in the inode, and then there can be 340 entries in each 4k extent tree block. Each entry can either be a leaf entry or an index entry (i.e., pointing to another extent tree block). So it's pretty rare for there extent tree to have a depth greater than 1. In order to actually test the code, what I do is use a 1k block size (so you can only fit 84 entries in each ETB), and then use a small file system, and then do something like this: touch /tmp/test.img mke2fs -t ext4 -O ^has_journal -F -b 1024 -N 131084 /tmp/test.img 150M mount -o loop /tmp/test.img /mnt cd /mnt seq 1 131072 | xargs -n 1 fallocate -l 1024 seq 1 2 131072 | xargs rm fallocate -l 64M test-file cd .. umount /mnt i.e., create a maximally fragmented file system, and then create a large file. But this is very rare in real-life workloads. - Ted ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Extent Depth Histogram Fsck 2012-06-26 18:07 ` Nelson, John R 2012-06-26 20:00 ` Ted Ts'o @ 2012-06-26 20:07 ` Andreas Dilger 1 sibling, 0 replies; 5+ messages in thread From: Andreas Dilger @ 2012-06-26 20:07 UTC (permalink / raw) To: Nelson, John R; +Cc: Andreas Dilger, linux-ext4@vger.kernel.org On 2012-06-26, at 12:07, "Nelson, John R" <John_Nelson@student.uml.edu> wrote: > ok i see! > So when there are like > 3/3/4 that means double index blocks?? How many extents can a single extent index hold in a block? The header takes 12 bytes, and each extent or index pointer takes 12 bytes, so for 4kB blocksize there can be (4096 / 12) - 1 = 340 extents per block. The maximum extent size for 4kB blocks is 2^15*4kB = 128MB, so each index block can map up to ~42GB, so a two-level tree can map just over 14TB under ideal conditions. Cheers, Andreas > ________________________________________ > From: Andreas Dilger [adilger@dilger.ca] > Sent: Tuesday, June 26, 2012 11:40 AM > To: Nelson, John R > Cc: linux-ext4@vger.kernel.org > Subject: Re: Extent Depth Histogram Fsck > > On 2012-06-26, at 8:34 AM, Nelson, John R wrote: >> What does the extent depth histogram mean? Is it a measure of something? >> >> like mine is >> >> >> Extent depth histogram: 36010/81 > > This means that of all the extent-mapped files in the filesystem, > 36010 files have an extent tree of depth 0 (i.e. they fit inside the inode) > 81 files have an extent tree of depth 1 (i.e. there is a single index block) > > Typically, files larger than 4 * 128MB = 512MB need an index block, but if > the maximum-sized extents cannot be allocated then an index block will be needed for smaller files. Only if you have very large files (> 40GB), > or a very fragmented free space would you need more than a single level > of index blocks. > > Cheers, Andreas > > > > > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-06-26 20:07 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-06-26 14:34 Extent Depth Histogram Fsck Nelson, John R 2012-06-26 15:40 ` Andreas Dilger 2012-06-26 18:07 ` Nelson, John R 2012-06-26 20:00 ` Ted Ts'o 2012-06-26 20:07 ` Andreas Dilger
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).