Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
return 0;
}
+/**
+ * key_type - get key type.
+ * @c: UBIFS file-system description object
+ * @key: key to get type of
+ */
+static inline int key_type(const union ubifs_key *key)
+{
+ return key->u32[1] >> UBIFS_S_KEY_BLOCK_BITS;
+}
+
#endif /* !__UBIFS_KEY_H__ */
{
int err, lnum, offs;
+ if (key_type(key) == UBIFS_DENT_KEY || key_type(key) == UBIFS_XENT_KEY) {
+ if (!name)
+ return err_msg("Directory entry or xattr without name!");
+ } else {
+ if (name)
+ return err_msg("Name given for non dir/xattr node!");
+ }
+
prepare_node(node, len);
err = reserve_space(len, &lnum, &offs);