]> err.no Git - linux-2.6/commitdiff
[XFS] A bug was found in xfs_bmap_add_extent_unwritten_real(). In a
authorTim Shimmin <tes@sgi.com>
Fri, 18 Jul 2008 07:13:04 +0000 (17:13 +1000)
committerNiv Sardi <xaiki@debian.org>
Mon, 28 Jul 2008 06:59:32 +0000 (16:59 +1000)
particular case, the delta param which is supposed to describe the region
where extents have changed was not updated appropriately.

SGI-PV: 984030

SGI-Modid: xfs-linux-melb:xfs-kern:31663a

Signed-off-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Olaf Weber <olaf@sgi.com>
fs/xfs/xfs_bmap.c

index cf4dee01983aa71594041415c6742d7ff30d2e9d..3c4beb3a43266585c948f91fefe2a1a7adbb82ea 100644 (file)
@@ -1740,9 +1740,9 @@ xfs_bmap_add_extent_unwritten_real(
                                r[1].br_state)))
                                goto done;
                        /* new left extent - oldext */
-                       PREV.br_blockcount =
-                               new->br_startoff - PREV.br_startoff;
                        cur->bc_rec.b = PREV;
+                       cur->bc_rec.b.br_blockcount =
+                               new->br_startoff - PREV.br_startoff;
                        if ((error = xfs_bmbt_insert(cur, &i)))
                                goto done;
                        XFS_WANT_CORRUPTED_GOTO(i == 1, done);