2019-05-21 01:08:00 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
2010-05-18 02:39:02 +08:00
|
|
|
/*
|
|
|
|
* Squashfs - a compressed read only filesystem for Linux
|
|
|
|
*
|
|
|
|
* Copyright (c) 2010
|
2011-05-26 17:39:56 +08:00
|
|
|
* Phillip Lougher <phillip@squashfs.org.uk>
|
2010-05-18 02:39:02 +08:00
|
|
|
*
|
|
|
|
* xattr.h
|
|
|
|
*/
|
|
|
|
|
2010-06-01 01:46:29 +08:00
|
|
|
#ifdef CONFIG_SQUASHFS_XATTR
|
2010-05-18 02:39:02 +08:00
|
|
|
extern __le64 *squashfs_read_xattr_id_table(struct super_block *, u64,
|
2023-01-27 14:18:42 +08:00
|
|
|
u64 *, unsigned int *);
|
2010-05-18 02:39:02 +08:00
|
|
|
extern int squashfs_xattr_lookup(struct super_block *, unsigned int, int *,
|
2010-10-25 07:17:24 +08:00
|
|
|
unsigned int *, unsigned long long *);
|
2010-05-18 02:39:02 +08:00
|
|
|
#else
|
|
|
|
static inline __le64 *squashfs_read_xattr_id_table(struct super_block *sb,
|
2023-01-27 14:18:42 +08:00
|
|
|
u64 start, u64 *xattr_table_start, unsigned int *xattr_ids)
|
2010-05-18 02:39:02 +08:00
|
|
|
{
|
2021-02-10 05:41:53 +08:00
|
|
|
struct squashfs_xattr_id_table *id_table;
|
|
|
|
|
|
|
|
id_table = squashfs_read_table(sb, start, sizeof(*id_table));
|
|
|
|
if (IS_ERR(id_table))
|
|
|
|
return (__le64 *) id_table;
|
|
|
|
|
|
|
|
*xattr_table_start = le64_to_cpu(id_table->xattr_table_start);
|
|
|
|
kfree(id_table);
|
|
|
|
|
2010-05-18 02:39:02 +08:00
|
|
|
ERROR("Xattrs in filesystem, these will be ignored\n");
|
|
|
|
return ERR_PTR(-ENOTSUPP);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int squashfs_xattr_lookup(struct super_block *sb,
|
2010-10-25 07:17:24 +08:00
|
|
|
unsigned int index, int *count, unsigned int *size,
|
2010-05-14 07:32:21 +08:00
|
|
|
unsigned long long *xattr)
|
2010-05-18 02:39:02 +08:00
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
#define squashfs_listxattr NULL
|
|
|
|
#define squashfs_xattr_handlers NULL
|
|
|
|
#endif
|