From 50044efbd6e713e86f705a60eddab0c034dffeba Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 12 Nov 2015 10:31:27 +0100 Subject: mkfs.ubifs: Add extended attribute support This adds extended attribute support to mkfs.ubifs. When creating an image from a directory tree the existing extended attributes are added to the UBIFS image. Signed-off-by: Sascha Hauer Signed-off-by: Marc Kleine-Budde Signed-off-by: Richard Weinberger --- ubifs-utils/mkfs.ubifs/key.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'ubifs-utils/mkfs.ubifs/key.h') diff --git a/ubifs-utils/mkfs.ubifs/key.h b/ubifs-utils/mkfs.ubifs/key.h index d3a02d4..39379fd 100644 --- a/ubifs-utils/mkfs.ubifs/key.h +++ b/ubifs-utils/mkfs.ubifs/key.h @@ -118,6 +118,24 @@ static inline void dent_key_init(const struct ubifs_info *c, key->u32[1] = hash | (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS); } +/** + * xent_key_init - initialize extended attribute entry key. + * @c: UBIFS file-system description object + * @key: key to initialize + * @inum: host inode number + * @nm: extended attribute entry name and length + */ +static inline void xent_key_init(const struct ubifs_info *c, + union ubifs_key *key, ino_t inum, + const struct qstr *nm) +{ + uint32_t hash = c->key_hash(nm->name, nm->len); + + ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK)); + key->u32[0] = inum; + key->u32[1] = hash | (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS); +} + /** * data_key_init - initialize data key. * @c: UBIFS file-system description object -- cgit v1.2.3