[GIT PULL] XFS update for 2.6.23

From: Tim Shimmin
Date: Thu Sep 20 2007 - 06:12:28 EST


Hi Linus,

A couple of small fixes.
One for harmless sparse warnings and one which can prevent
crashes on 32 bit boxes using filestreams.

Please pull from the for-linus branch:
git pull git://oss.sgi.com:8090/xfs/xfs-2.6.git for-linus

This will update the following files:

fs/xfs/xfs_filestream.c | 7 ++++---
fs/xfs/xfs_log_recover.c | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)

through these commits:

commit 1bc5858d0d40e07697b5eda47ed8628b8a934235
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Wed Sep 19 15:27:30 2007 +1000

[XFS] fix valid but harmless sparse warning

The new xlog_recover_do_reg_buffer checks call be16_to_cpu on di_gen which
is a 32bit value so sparse rightly complains. Fortunately the warning is
harmless because we don't care for the value, but only whether it's
non-NULL. Due to that fact we can simply kill the endian swaps on this and
the previous di_mode check entirely.

SGI-PV: 969656
SGI-Modid: xfs-linux-melb:xfs-kern:29709a

Signed-off-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>

commit bcc7b445eff295664a3a3ab14e742b3c9d88e6e3
Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu Aug 30 17:21:38 2007 +1000

[XFS] fix filestreams on 32-bit boxes

xfs_filestream_mount() sets up an mru cache with:
err = xfs_mru_cache_create(&mp->m_filestream, lifetime, grp_count,
(xfs_mru_cache_free_func_t)xfs_fstrm_free_func);
but that cast is causing problems...
typedef void (*xfs_mru_cache_free_func_t)(unsigned long, void*);
but:
void xfs_fstrm_free_func( xfs_ino_t ino, fstrm_item_t *item)
so on a 32-bit box, it's casting (32, 32) args into (64, 32) and I assume
it's getting garbage for *item, which subsequently causes an explosion.
With this change the filestreams xfsqa tests don't oops on my 32-bit box.

SGI-PV: 967795
SGI-Modid: xfs-linux-melb:xfs-kern:29510a

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
Signed-off-by: David Chinner <dgc@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>

--Tim
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/