[haiku-development] Re: Fwd: Re: Haiku port status

  • From: "Rene Gollent" <anevilyak@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 18 Nov 2008 20:12:21 -0600

On Tue, Nov 18, 2008 at 8:08 PM, Dustin Howett <alaricx@xxxxxxxxx> wrote:
> In the case that it does not, would storing it in an attribute be too
> much of a hack?
> In fact, shouldn't all those file-related things apart from filename,
> inode type (symlink, directory, etc) and data/block list (not sure how
> BFS works here) be stored in attributes?
> I realize that would be a change in on-disk format, but it just seemed
> like it should have been like that from the start.
> Unless, of course, there's a good reason not to :)

No, most of the more fundamental FS attributes like permissions and
ctime/mtime are stored in the inode itself, and for good reason:
performance. Retrieving an attribute that is not stored in the
small_data area (extra space at the end of the inode used for storing
as many attrs as can fit) requires a) reading the location of the
node's attribute dir, b) seeking to that, c) reading the attribute dir
for the requested attribute's location, d) seeking to that, and e)
reading that - very very slow, especially if you have to do it a few
tens or hundreds of times like for a typical directory.

Regards,

Rene

> - Dustin L. Howett
>
>

Other related posts: