Squashfs updates for 2.6.35
Hi Linus,
Please consider pulling the following Squashfs updates which add file system support for extended attributes.
Thanks
Phillip
----------
The following changes since commit b57f95a38233a2e73b679bea4a5453a1cc2a1cc9:
Linus Torvalds (1):
Linux 2.6.34-rc7
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus.git master
Phillip Lougher (7):
squashfs: add xattr id support
squashfs: add support for xattr reading
squashfs: add new extended inode types
squashfs: add xattr support configure option
squashfs: constify xattr handlers
squashfs: fix name reading in squashfs_xattr_get
squashfs: update documentation to include description of xattr layout
Stephen Hemminger (2):
squashfs: xattr_lookup sparse fix
squashfs: xattr fix sparse warnings
Documentation/filesystems/squashfs.txt | 32 +++- fs/squashfs/Kconfig | 11 + fs/squashfs/Makefile | 2 + fs/squashfs/inode.c | 92 +++++++++- fs/squashfs/namei.c | 6 +- fs/squashfs/squashfs.h | 12 +- fs/squashfs/squashfs_fs.h | 76 ++++++++- fs/squashfs/squashfs_fs_i.h | 3 + fs/squashfs/squashfs_fs_sb.h | 3 + fs/squashfs/super.c | 30 ++- fs/squashfs/symlink.c | 11 + fs/squashfs/xattr.c | 323 ++++++++++++++++++++++++++++++++ fs/squashfs/xattr.h | 46 +++++ fs/squashfs/xattr_id.c | 100 ++++++++++ 14 files changed, 723 insertions(+), 24 deletions(-) create mode 100644 fs/squashfs/xattr.c create mode 100644 fs/squashfs/xattr.h create mode 100644 fs/squashfs/xattr_id.c
Quoted 2 lines · Phillip Lougher
Stephen Hemminger (2):
squashfs: xattr fix sparse warnings
Interestingly, this one introduced a new compiler warning:
fs/squashfs/xattr.c:37: warning: ‘squashfs_xattr_handler’ declared inline after being calledfs/squashfs/xattr.c:37: warning: previous declaration of ‘squashfs_xattr_handler’ was here
as the actual function is still marked inline at line 298.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
PATCH 1/2 squashfs: xattr_handler don't inline
Don't need to explicitly inline this function, it causes a sparse warning; and GCC will inline it already.
---
Patch against 2.6.35-rc1
fs/squashfs/xattr.c +1 -1
@@ -295,7 +295,7 @@ static const struct xattr_handler squash .get = squashfs_security_get }; -static inline const struct xattr_handler *squashfs_xattr_handler (int type) +static const struct xattr_handler *squashfs_xattr_handler (int type) {if (type & ~(SQUASHFS_XATTR_PREFIX_MASK |SQUASHFS_XATTR_VALUE_OOL ))/* ignore unrecognised type */
PATCH 2/2 squashfs: fix unsigned warnings
The xattr_size is passed to xattr_lookup as a signed integer, when it is unsigned. Also include xattr.h to get function prototype.
fs/squashfs/xattr.h +2 -2
@@ -25,7 +25,7 @@extern __le64 *squashfs_read_xattr_id_table (struct super_block *,u64 ,u64 *,int *);extern int squashfs_xattr_lookup (struct super_block *,unsigned int ,int *, -int *,unsigned long long *); +unsigned int *,unsigned long long *);#else static inline __le64 *squashfs_read_xattr_id_table (struct super_block *sb,u64 start,u64 *xattr_table_start,int *xattr_ids)
@@ -35,7 +35,7 @@ static inline __le64 *squashfs_read_xatt }static inline int squashfs_xattr_lookup (struct super_block *sb, -unsigned int index,int *count,int *size, +unsigned int index,int *count,unsigned int *size,unsigned long long *xattr) {return 0 ;
fs/squashfs/xattr_id.c +1 -0
@@ -34,6 +34,7 @@#include "squashfs_fs_sb.h" #include "squashfs_fs_i.h" #include "squashfs.h" +#include "xattr.h" /* * Map xattr id using the xattr id look up table