Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Sep 1999 23:51:19 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Andy Farkas <andyf@speednet.com.au>
Cc:        David Scheidt <dscheidt@tumbolia.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: nobody knows the answer?
Message-ID:  <199909020651.XAA40058@apollo.backplane.com>
References:   <Pine.BSF.4.10.9909021633350.51435-100000@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help

:> filesystems is allocated in the from of blocks, which are divided into
:> fragments.  These blocks are not the same as the physical disk blocks, but
:> are a number of sequential disk blocks.  The default FFS block size is 8KB.
:> Each FFS block is subdivided into fragments.  The default is 8 fragments per
:> block, giving a default frag size of 1KB.  
:
:A very nice, simple, explanation.
:
:What are Cylinder Groups for?
:
:> 
:> David Scheidt

    A cylinder group is associated with the UFS/FFS filesystem, which is the
    standard filesystem that *BSD systems use.

    The filesystem resides in a disk partition.  The filesystem breaks the
    disk partition up into a number of 'cylinder groups'.

    Each cylinder group is an organizational entity which contains inodes,
    bitmap blocks (showing what is allocated and what is not allocated within
    the cylinder group), and data blocks.  It kinda looks like a mini version
    of the filesystem, in fact.

    When a file is created in a UFS/FFS filesystem, the filesystem attempts
    to optimize the placement of the file's inode, meta-data, and data blocks
    in the partition.  The filesystem uses the concept of a 'cylinder group'
    to localize the proximity of this information and to attempt to control
    fragmentation as the filesystem fills up.

    For example, the filesystem attempts to place a file's inode, meta-data,
    and data blocks all within the same cylinder group to reduce seeking,
    but if a file is large the filesystem will limit the number of data
    blocks it allocates for the file out of any given cylinder group in order
    to avoid filling up the cylinder group (which would cause other files
    in that cylinder group to be laid-out non-optimally).  In this case,
    the overflow datablocks are placed in another cylinder group.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909020651.XAA40058>