Messages in this thread | | | Date | Tue, 15 Oct 2002 17:00:12 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/3] Add extended attributes to ext2/3 |
| |
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.
The use of a dev_t search key is a bit old-fashioned. Maybe use the address of inode->i_sb->s_bdev? - 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/
| |