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/file.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/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 89d8541f85b5..f4273c2c2095 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -55,6 +55,7 @@ | |||
55 | #include "mmap.h" | 55 | #include "mmap.h" |
56 | #include "suballoc.h" | 56 | #include "suballoc.h" |
57 | #include "super.h" | 57 | #include "super.h" |
58 | #include "xattr.h" | ||
58 | 59 | ||
59 | #include "buffer_head_io.h" | 60 | #include "buffer_head_io.h" |
60 | 61 | ||
@@ -2070,6 +2071,10 @@ const struct inode_operations ocfs2_file_iops = { | |||
2070 | .setattr = ocfs2_setattr, | 2071 | .setattr = ocfs2_setattr, |
2071 | .getattr = ocfs2_getattr, | 2072 | .getattr = ocfs2_getattr, |
2072 | .permission = ocfs2_permission, | 2073 | .permission = ocfs2_permission, |
2074 | .setxattr = generic_setxattr, | ||
2075 | .getxattr = generic_getxattr, | ||
2076 | .listxattr = ocfs2_listxattr, | ||
2077 | .removexattr = generic_removexattr, | ||
2073 | .fallocate = ocfs2_fallocate, | 2078 | .fallocate = ocfs2_fallocate, |
2074 | .fiemap = ocfs2_fiemap, | 2079 | .fiemap = ocfs2_fiemap, |
2075 | }; | 2080 | }; |