[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-id: <1219680023.31999.30.camel@localhost>
Date: Mon, 25 Aug 2008 21:30:23 +0530
From: Kalpak Shah <Kalpak.Shah@....COM>
To: linux-ext4 <linux-ext4@...r.kernel.org>
Cc: Andreas Dilger <adilger@....COM>
Subject: [PATCH] Large EAs in ext4
Hi,
This is the implementation for large EA support in ext4. Note that this
also helps to have a larger number of EAs since large EAs get written
out to a new inode instead of the EA block.
If value of an attribute is greater than 2048 bytes the value is not
saved in the external EA block, instead it is saved in an inode. The EA
entry saves the inode number in e_value_inum field (earlier this was
e_value_block that was unused). A new EXT4_FEATURE_INCOMPAT_EA_INODE
feature has been added for this.
These inodes are not linked into any directory since a single directory
per filesystem will cause a bottleneck. Instead a "goal" argument has
been added to the ext4_new_inode() function to help a localized
selection of the EA inode. Since ext4_new_inode() only used the dir
argument to choose the group, we use goal to do the same.
This "large_xattr" feature is not enabled automatically and needs to
enabled during mkfs or using tune2fs. I have also attached the e2fsprogs
patch for the same.
Your feedback/review/comments are appreciated.
Signed-off-by: Andreas Dilger <adilger@....com>
Signed-off-by: Kalpak Shah <kalpak.shah@....com>
Thanks,
Kalpak.
View attachment "ext4-large-eas.patch" of type "text/x-patch" (26032 bytes)
View attachment "e2fsprogs-large-xattrs.patch" of type "text/x-patch" (14657 bytes)
Powered by blists - more mailing lists