int erofs_set_origin_xattr(struct erofs_inode *inode);
int erofs_read_xattrs_from_disk(struct erofs_inode *inode);
+bool erofs_xattr_prefix_matches(const char *key, unsigned int *index,
+ unsigned int *len);
+
#ifdef __cplusplus
}
#endif
static LIST_HEAD(ea_name_prefixes);
static unsigned int ea_prefix_count;
-static bool match_prefix(const char *key, unsigned int *index,
- unsigned int *len)
+bool erofs_xattr_prefix_matches(const char *key, unsigned int *index,
+ unsigned int *len)
{
struct xattr_prefix *p;
if (!item)
return ERR_PTR(-ENOMEM);
- if (!match_prefix(kvbuf, &item->base_index, &item->prefix_len)) {
+ if (!erofs_xattr_prefix_matches(kvbuf, &item->base_index,
+ &item->prefix_len)) {
free(item);
return ERR_PTR(-ENODATA);
}
if (ret)
return ret;
- if (!match_prefix(name, &prefix, &prefixlen))
+ if (!erofs_xattr_prefix_matches(name, &prefix, &prefixlen))
return -ENODATA;
it.it.sbi = vi->sbi;
if (!tnode)
return -ENOMEM;
- if (!match_prefix(prefix, &tnode->base_index, &tnode->base_len)) {
+ if (!erofs_xattr_prefix_matches(prefix, &tnode->base_index,
+ &tnode->base_len)) {
free(tnode);
return -ENODATA;
}