Re: [PATCH 1/3] Add extended attributes to ext2/3
Andreas Gruenbacher (agruen@suse.de)
Wed, 16 Oct 2002 02:11:39 +0200
On Wednesday 16 October 2002 02:00, Andrew Morton wrote:
> tytso@mit.edu wrote:
> > This is an updated submission of the extended attribute patches for
> > ext2/3 (versus bk-current).  Many thanks to Cristoph, Andrea, and Andrew
> > for their suggestions and cleanups.
> >
> > This patch creates a meta block cache which is utilized by the ext3 and
> > ext2 extended attribute patches (patches 2 and 3, respectively).  This
> > cache allows directory blocks to be indexed by multiple keys.  In the
> > case of the extended attribute patches, it is used to look up blocks by
> > both the block number and by the hash of the extended attributes.  This
> > is extremely important to allow the sharing of acl's when stored as
> > extended attributes.  Otherwise every single file would require its own,
> > separate, one block overhead to store then ACL, even though there might
> > be a large number of files that have the same ACL.
>
> The key thing here appears to be the cache entry:
>
> +struct mb_cache_entry {
> +       struct list_head                e_lru_list;
> +       struct mb_cache                 *e_cache;
> +       atomic_t                        e_used;
> +       dev_t                           e_dev;
> +       unsigned long                   e_block;
> +       struct list_head                e_block_list;
> +       struct mb_cache_entry_index     e_indexes[0];
> +};
>
> This should be converted to use sector_t for >2TB support, and tested
> with CONFIG_LBD=y and n.
e_block is the block number; the e_indexes are hash values. Ext[23] only has 
32bit block numbers. Am I getting you wrong?
> The use of a dev_t search key is a bit old-fashioned.  Maybe
> use the address of inode->i_sb->s_bdev?
That would do as well.
A related issue:
Would switching to a more decent hash algorithm in fs/ext?/xattr.c make sense? 
I think there are better ones in 2.5. This would only degrade sharing on 
"legacy" systems for a while, but the slow down would vanish over time.
--Andreas.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/