Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Aug 1998 17:36:41 -0400 (EDT)
From:      zhihuizhang <bf20761@binghamton.edu>
To:        Mike Smith <mike@smith.net.au>
Cc:        hackers <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: FFS questions 
Message-ID:  <Pine.SOL.L3.93.980831170245.18248A-100000@bingsun2>
In-Reply-To: <199808271532.PAA00757@dingo.cdrom.com>

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

On Thu, 27 Aug 1998, Mike Smith wrote:

> > The comment says it is the number of cylinders per *cycle* in position
> > table.  What does the "cycle" mean?
> 
> It's the size of the rotational offset table.  Starting from position 0 
> on the disk, there are N cycles of fastest-next-block locations as you 
> move across the disk.  You only need to store one cycle in the offset 
> table.
> 

>From your explanation, it seems that the table is for entire disk (not
constrained to one cylinder) and according to comment in mkfs.c, each
cycle is a rotational pattern.  So I guess that each pattern covers fs_cpc
cylinders, or after fs_cpc cylinders the pattern will repeat (on the next
cylinder boundary or immediately?)

So how is the pattern represented anyway?  Is there any relationship
between fs_cpc and fs_nrpos (should be number of rotational positions *per
cylinder*).  I guess that in a pattern (cycle), there are fs_cpc *
fs_nrpos different positions.  How are these positions represented, by
block numbers or by increments? 

The macro cbtorpos() converts a block number to a rotational position in a
single cylinder.  This position is used to index position table to get
another block number. This block number is in turn used to index the
rotational table to get an increase of it.  After increase, the block
number is used again to index the positional table until a free file block
is found.... The use of fs_postbl() and fs_rotbl() seems to construct a
list of blocks available at each rotational position. But they confuses
me. 

I hope someone can clarify for me on how those blocks for one rotational
position are organized. 

Any help is appreciated.



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?Pine.SOL.L3.93.980831170245.18248A-100000>