diff options
author | Tiger Yang <tiger.yang@oracle.com> | 2008-08-18 05:11:00 -0400 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2008-10-13 19:57:02 -0400 |
commit | cf1d6c763fbcb115263114302485ad17e7933d87 (patch) | |
tree | 85717dc9d20b7ac1e31b683653933f2d30099f44 /fs/ocfs2/symlink.c | |
parent | fdd77704a8b4666a32120fcd1e4a9fedaf3263d8 (diff) |
ocfs2: Add extended attribute support
This patch implements storing extended attributes both in inode or a single
external block. We only store EA's in-inode when blocksize > 512 or that
inode block has free space for it. When an EA's value is larger than 80
bytes, we will store the value via b-tree outside inode or block.
Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/symlink.c')
-rw-r--r-- | fs/ocfs2/symlink.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c index ba9dbb51d25b..8c5879c7f846 100644 --- a/fs/ocfs2/symlink.c +++ b/fs/ocfs2/symlink.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include "inode.h" | 50 | #include "inode.h" |
51 | #include "journal.h" | 51 | #include "journal.h" |
52 | #include "symlink.h" | 52 | #include "symlink.h" |
53 | #include "xattr.h" | ||
53 | 54 | ||
54 | #include "buffer_head_io.h" | 55 | #include "buffer_head_io.h" |
55 | 56 | ||
@@ -168,10 +169,18 @@ const struct inode_operations ocfs2_symlink_inode_operations = { | |||
168 | .follow_link = ocfs2_follow_link, | 169 | .follow_link = ocfs2_follow_link, |
169 | .getattr = ocfs2_getattr, | 170 | .getattr = ocfs2_getattr, |
170 | .setattr = ocfs2_setattr, | 171 | .setattr = ocfs2_setattr, |
172 | .setxattr = generic_setxattr, | ||
173 | .getxattr = generic_getxattr, | ||
174 | .listxattr = ocfs2_listxattr, | ||
175 | .removexattr = generic_removexattr, | ||
171 | }; | 176 | }; |
172 | const struct inode_operations ocfs2_fast_symlink_inode_operations = { | 177 | const struct inode_operations ocfs2_fast_symlink_inode_operations = { |
173 | .readlink = ocfs2_readlink, | 178 | .readlink = ocfs2_readlink, |
174 | .follow_link = ocfs2_follow_link, | 179 | .follow_link = ocfs2_follow_link, |
175 | .getattr = ocfs2_getattr, | 180 | .getattr = ocfs2_getattr, |
176 | .setattr = ocfs2_setattr, | 181 | .setattr = ocfs2_setattr, |
182 | .setxattr = generic_setxattr, | ||
183 | .getxattr = generic_getxattr, | ||
184 | .listxattr = ocfs2_listxattr, | ||
185 | .removexattr = generic_removexattr, | ||
177 | }; | 186 | }; |