Re: File Conglomerations

Casey Schaufler (casey@sgi.com)
Thu, 08 Jul 1999 09:48:09 -0700


Iain McClatchie wrote:
>
> Casey> So what, I hear you ask, does XFS do WRT this whole issue?
> Casey> Attributes are stored as name/data pairs and are stored using
> Casey> the same mechanisms as data.
>
> Cool.
>
> F/S:
> How are file attributes laid out on the disk?

Extended attributes are stored using the same schemes as data.
Small ones often go in the inode, larger ones are stored in
data blocks.

> Do you pick up
> the attributes of all the files in a directory in one disk read?

No. Attributes are associated with the file, not the containing
directory.

> Do
> you use this attribute system to store permission bits and the like?

No. "Traditional" attributes are stored in the inode.

> O/S:
> What is the interface to read an arbitrarily-sized attribute?

attr_get(2)

> Do you use the same interface to read permission bits?

Nope. The stat family does that.

> NFS:
> Do you always transfer an attribute in one syscall, or do you have an
> open/read/close model?

One syscall.

> How does the buffer space to store an
> arbitrarily-sized attribute get allocated in user space? (The real
> question here is: does it take two round trips -- one to get the
> attribute size, and the next to do the read?)

Buffer allocation is left to the caller. The attr_list(2) call
will tell you what attributes there are, and what their sizes are.

-- 

Casey Schaufler voice: (650) 933-1634 casey@sgi.com fax: (650) 933-0170

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/