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