* XFS update for 3.2-stable
@ 2012-01-18 20:41 bpm
2012-01-18 20:41 ` [PATCH] xfs: fix endian conversion issue in discard code bpm
2012-01-22 21:13 ` XFS update for 3.2-stable Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: bpm @ 2012-01-18 20:41 UTC (permalink / raw)
To: stable, xfs, bpm
Here's a fix for 3.2-stable related to trim support in xfs.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] xfs: fix endian conversion issue in discard code
2012-01-18 20:41 XFS update for 3.2-stable bpm
@ 2012-01-18 20:41 ` bpm
2012-01-22 21:13 ` XFS update for 3.2-stable Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: bpm @ 2012-01-18 20:41 UTC (permalink / raw)
To: stable, xfs, bpm; +Cc: Dave Chinner
From: Dave Chinner <dchinner@redhat.com>
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.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
---
fs/xfs/xfs_discard.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/xfs/xfs_discard.c b/fs/xfs/xfs_discard.c
index 8a24f0c..286a051 100644
--- a/fs/xfs/xfs_discard.c
+++ b/fs/xfs/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
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: XFS update for 3.2-stable
2012-01-18 20:41 XFS update for 3.2-stable bpm
2012-01-18 20:41 ` [PATCH] xfs: fix endian conversion issue in discard code bpm
@ 2012-01-22 21:13 ` Greg KH
2012-01-24 17:44 ` Ben Myers
1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2012-01-22 21:13 UTC (permalink / raw)
To: bpm; +Cc: stable, xfs
On Wed, Jan 18, 2012 at 02:41:44PM -0600, bpm@sgi.com wrote:
> Here's a fix for 3.2-stable related to trim support in xfs.
Applied, thanks. Is it also needed for the 3.0-stable tree?
greg k-h
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: XFS update for 3.2-stable
2012-01-22 21:13 ` XFS update for 3.2-stable Greg KH
@ 2012-01-24 17:44 ` Ben Myers
0 siblings, 0 replies; 5+ messages in thread
From: Ben Myers @ 2012-01-24 17:44 UTC (permalink / raw)
To: Greg KH; +Cc: stable, xfs
Hey Greg,
On Sun, Jan 22, 2012 at 02:13:40PM -0700, Greg KH wrote:
> On Wed, Jan 18, 2012 at 02:41:44PM -0600, bpm@sgi.com wrote:
> > Here's a fix for 3.2-stable related to trim support in xfs.
>
> Applied, thanks. Is it also needed for the 3.0-stable tree?
Looks like it. I'll submit it for 3.0...
-Ben
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] xfs: fix endian conversion issue in discard code
2012-01-26 19:47 XFS update for 3.0-stable bpm
@ 2012-01-26 19:47 ` bpm
0 siblings, 0 replies; 5+ messages in thread
From: bpm @ 2012-01-26 19:47 UTC (permalink / raw)
To: stable, xfs, bpm; +Cc: Dave Chinner
From: Dave Chinner <dchinner@redhat.com>
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 <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
---
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
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-01-26 19:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-18 20:41 XFS update for 3.2-stable bpm
2012-01-18 20:41 ` [PATCH] xfs: fix endian conversion issue in discard code bpm
2012-01-22 21:13 ` XFS update for 3.2-stable Greg KH
2012-01-24 17:44 ` Ben Myers
-- strict thread matches above, loose matches on Subject: below --
2012-01-26 19:47 XFS update for 3.0-stable bpm
2012-01-26 19:47 ` [PATCH] xfs: fix endian conversion issue in discard code bpm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox