aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/xattr.h
diff options
context:
space:
mode:
authorTiger Yang <tiger.yang@oracle.com>2008-11-13 22:16:41 -0500
committerMark Fasheh <mfasheh@suse.com>2009-01-05 11:34:20 -0500
commit534eadddc1de8754a227202c0e747af4973f82ce (patch)
treee044976da3644f020ed1da420211cc433dbc0a92 /fs/ocfs2/xattr.h
parent923f7f3102b80403152e05aee3d55ecfce240440 (diff)
ocfs2: add ocfs2_init_security in during file create
Security attributes must be set when creating a new inode. We do this in three steps. - First, get security xattr's name and value by security_operation - Calculate and reserve the meta data and clusters needed by this security xattr before starting transaction - Finally, we set it before add_entry Signed-off-by: Tiger Yang <tiger.yang@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/xattr.h')
-rw-r--r--fs/ocfs2/xattr.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/ocfs2/xattr.h b/fs/ocfs2/xattr.h
index 55c5256ff563..188ef6ba6836 100644
--- a/fs/ocfs2/xattr.h
+++ b/fs/ocfs2/xattr.h
@@ -30,6 +30,13 @@ enum ocfs2_xattr_type {
30 OCFS2_XATTR_MAX 30 OCFS2_XATTR_MAX
31}; 31};
32 32
33struct ocfs2_security_xattr_info {
34 int enable;
35 char *name;
36 void *value;
37 size_t value_len;
38};
39
33extern struct xattr_handler ocfs2_xattr_user_handler; 40extern struct xattr_handler ocfs2_xattr_user_handler;
34extern struct xattr_handler ocfs2_xattr_trusted_handler; 41extern struct xattr_handler ocfs2_xattr_trusted_handler;
35extern struct xattr_handler ocfs2_xattr_security_handler; 42extern struct xattr_handler ocfs2_xattr_security_handler;
@@ -43,5 +50,15 @@ int ocfs2_xattr_set_handle(handle_t *, struct inode *, struct buffer_head *,
43 struct ocfs2_alloc_context *, 50 struct ocfs2_alloc_context *,
44 struct ocfs2_alloc_context *); 51 struct ocfs2_alloc_context *);
45int ocfs2_xattr_remove(struct inode *, struct buffer_head *); 52int ocfs2_xattr_remove(struct inode *, struct buffer_head *);
53int ocfs2_init_security_get(struct inode *, struct inode *,
54 struct ocfs2_security_xattr_info *);
55int ocfs2_init_security_set(handle_t *, struct inode *,
56 struct buffer_head *,
57 struct ocfs2_security_xattr_info *,
58 struct ocfs2_alloc_context *,
59 struct ocfs2_alloc_context *);
60int ocfs2_calc_security_init(struct inode *,
61 struct ocfs2_security_xattr_info *,
62 int *, int *, struct ocfs2_alloc_context **);
46 63
47#endif /* OCFS2_XATTR_H */ 64#endif /* OCFS2_XATTR_H */