Author: arekm Date: Fri Jan 27 07:33:36 2012 GMT Module: packages Tag: LINUX_3_0 ---- Log message: fitrim xfs fix
---- Files affected: packages/kernel: kernel-small_fixes.patch (1.43.2.15 -> 1.43.2.16) ---- Diffs: ================================================================ Index: packages/kernel/kernel-small_fixes.patch diff -u packages/kernel/kernel-small_fixes.patch:1.43.2.15 packages/kernel/kernel-small_fixes.patch:1.43.2.16 --- packages/kernel/kernel-small_fixes.patch:1.43.2.15 Sat Jan 7 14:35:58 2012 +++ packages/kernel/kernel-small_fixes.patch Fri Jan 27 08:33:31 2012 @@ -905,3 +905,51 @@ 1.7.4.1 +From: Dave Chinner <[email protected]> + +commit b1c770c273a4787069306fc82aab245e9ac72e9d upstream + +When finding the longest extent in an AG, we read the value directly +out of the AGF buffer without endian conversion. This will give an +incorrect length, resulting in FITRIM operations potentially not +trimming everything that it should. + +Note, for 3.0-stable this has been modified to apply to +fs/xfs/linux-2.6/xfs_discard.c instead of fs/xfs/xfs_discard.c. -bpm + +Signed-off-by: Dave Chinner <[email protected]> +Reviewed-by: Christoph Hellwig <[email protected]> +Signed-off-by: Ben Myers <[email protected]> +--- + fs/xfs/linux-2.6/xfs_discard.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/fs/xfs/linux-2.6/xfs_discard.c b/fs/xfs/linux-2.6/xfs_discard.c +index 244e797..572494f 100644 +--- a/fs/xfs/linux-2.6/xfs_discard.c ++++ b/fs/xfs/linux-2.6/xfs_discard.c +@@ -68,7 +68,7 @@ xfs_trim_extents( + * Look up the longest btree in the AGF and start with it. + */ + error = xfs_alloc_lookup_le(cur, 0, +- XFS_BUF_TO_AGF(agbp)->agf_longest, &i); ++ be32_to_cpu(XFS_BUF_TO_AGF(agbp)->agf_longest), &i); + if (error) + goto out_del_cursor; + +@@ -84,7 +84,7 @@ xfs_trim_extents( + if (error) + goto out_del_cursor; + XFS_WANT_CORRUPTED_GOTO(i == 1, out_del_cursor); +- ASSERT(flen <= XFS_BUF_TO_AGF(agbp)->agf_longest); ++ ASSERT(flen <= be32_to_cpu(XFS_BUF_TO_AGF(agbp)->agf_longest)); + + /* + * Too small? Give up. +-- +1.7.8.rc4 + +_______________________________________________ +xfs mailing list [email protected] +http://oss.sgi.com/mailman/listinfo/xfs ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-small_fixes.patch?r1=1.43.2.15&r2=1.43.2.16&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
