On Mon, 6 Dec 1999, Matthew Dillon wrote:

> :On Mon, 6 Dec 1999, Ronald G. Minnich wrote:
> :
> :> On Mon, 6 Dec 1999, Zhihui Zhang wrote:
> :> > I have modified FFS filesystem code to put the disk inode at the beginning
> :> > of a file, i.e, the logical block #0 of each file begins with 128 bytes of
> :> > its disk inode and the rest of it are file data. 
> :> 
> :> first question I have is, why?
> :
> :I am doing some research on filesystem.  I guess it may be faster to put
> :the disk inode with its file data together so that both can be read into
> :memory in one I/O. 
> :
> :-Zhihui
> 
>     Not really.  The inode tends to wind up being cached by the system
>     longer then file data, so placing it with the file data will not 
>     help -- since it is already probably cached, the system generally doesn't
>     have to read it off the disk more then once anyway, and in a heavily
>     loaded system the system caching is sufficiently detached from the file
>     data processing that it is actually more beneficial to group inodes 
>     together (one disk read is able to cache many inodes all in one go).
> 
>     Another problem is that things like 'ls -la' or 'find' have to stat files
>     and if you put the inode at the beginning of the file you essentially
>     distribute the inodes all over the cylinder group rather then concentrate
>     all the inodes in one place.
> 
>     p.s. I was wrong about it breaking mmap() - in fact offseting the file
>     data on-disk will not break mmap().  But it will produce unaligned disk
>     transfers and potentially extra seeking.

At Usenix 98 there was a paper on puting the inode in ht edirectory entry
for files with only one link.
that DID speed a lot of things up..

Puting the inode in "frag -1" is interesting, but the question remains of
how do you find the inode? I presume the directory entry needs to have the
actual disk block  in it..


> 
>                                               -Matt
> 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-fs" in the body of the message
> 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to