summaryrefslogtreecommitdiff
path: root/ext4_utils/contents.h
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2013-02-07 14:21:34 -0800
committerNick Kralevich <nnk@google.com>2013-02-20 12:51:09 -0800
commit4df62f342dbbe2f5cca831ce789dc0426d32ec03 (patch)
treee98ace44bcfa58e47f95bd321938d6cfd0a044c0 /ext4_utils/contents.h
parentf070d34601fa2f13e74897253be3a2b3681e4014 (diff)
downloadextras-4df62f342dbbe2f5cca831ce789dc0426d32ec03.tar.gz
ext4_utils: add filesystem capabilities support.
Add support for specifying filesystem capabilities when creating a new filesystem. The combination of SELinux extended attributes plus filesystem capability extended attributes is too big to fit inside one inode entry. Because of this, I added support to ext4_utils to create an xattr block and link the inode to that block. We continue to try to fit everything inside the inode if possible, but fall over to creating a block if the extended attribute is too big. Change-Id: I40ebb63975b15ecd8c565486e171b4d50cd4dfaa
Diffstat (limited to 'ext4_utils/contents.h')
-rw-r--r--ext4_utils/contents.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext4_utils/contents.h b/ext4_utils/contents.h
index 751c0b30..42720000 100644
--- a/ext4_utils/contents.h
+++ b/ext4_utils/contents.h
@@ -30,6 +30,7 @@ struct dentry {
u32 *inode;
u32 mtime;
char *secon;
+ uint64_t capabilities;
};
u32 make_directory(u32 dir_inode_num, u32 entries, struct dentry *dentries,
@@ -38,4 +39,5 @@ u32 make_file(const char *filename, u64 len);
u32 make_link(const char *link);
int inode_set_permissions(u32 inode_num, u16 mode, u16 uid, u16 gid, u32 mtime);
int inode_set_selinux(u32 inode_num, const char *secon);
+int inode_set_capabilities(u32 inode_num, uint64_t capabilities);
#endif