1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* |
3 | * Squashfs - a compressed read only filesystem for Linux |
4 | * |
5 | * Copyright (c) 2010 |
6 | * Phillip Lougher <phillip@squashfs.org.uk> |
7 | * |
8 | * xattr.h |
9 | */ |
10 | |
11 | #ifdef CONFIG_SQUASHFS_XATTR |
12 | extern __le64 *squashfs_read_xattr_id_table(struct super_block *, u64, |
13 | u64 *, unsigned int *); |
14 | extern int squashfs_xattr_lookup(struct super_block *, unsigned int, int *, |
15 | unsigned int *, unsigned long long *); |
16 | #else |
17 | static inline __le64 *squashfs_read_xattr_id_table(struct super_block *sb, |
18 | u64 start, u64 *xattr_table_start, unsigned int *xattr_ids) |
19 | { |
20 | struct squashfs_xattr_id_table *id_table; |
21 | |
22 | id_table = squashfs_read_table(sb, start, sizeof(*id_table)); |
23 | if (IS_ERR(id_table)) |
24 | return (__le64 *) id_table; |
25 | |
26 | *xattr_table_start = le64_to_cpu(id_table->xattr_table_start); |
27 | kfree(id_table); |
28 | |
29 | ERROR("Xattrs in filesystem, these will be ignored\n" ); |
30 | return ERR_PTR(-ENOTSUPP); |
31 | } |
32 | |
33 | static inline int squashfs_xattr_lookup(struct super_block *sb, |
34 | unsigned int index, int *count, unsigned int *size, |
35 | unsigned long long *xattr) |
36 | { |
37 | return 0; |
38 | } |
39 | #define squashfs_listxattr NULL |
40 | #define squashfs_xattr_handlers NULL |
41 | #endif |
42 | |