diff mbox

ceph-disk triggers XFS kernel bug?

Message ID CABYiri-HRU58Vhc5-_fuBMOZgYpMaNCkLpNECgfs=HEkg4PzFA@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Andrey Korolyov Jan. 29, 2018, 4:13 p.m. UTC
It appears that RH fixed that bug on top on their xfs queue:

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Luis Henriques Feb. 1, 2018, 2:46 p.m. UTC | #1
On Mon, Jan 29, 2018 at 07:13:39PM +0300, Andrey Korolyov wrote:
> It appears that RH fixed that bug on top on their xfs queue:

Just for completeness, this is fixed in upstream kernel with commit
f35c5e10c6ed ("xfs: reinit btree pointer on attr tree inactivation
walk").  Simply updating to a more recent kernel should work.

Cheers,
--
Luís

> 
> --- a/fs/xfs/xfs_attr_inactive.c
> +++ b/fs/xfs/xfs_attr_inactive.c
> @@ -302,6 +302,8 @@
>                                                  &bp, XFS_ATTR_FORK);
>                         if (error)
>                                 return error;
> +                       node = bp->b_addr;
> +                       btree = dp->d_ops->node_tree_p(node);
>                         child_fsb = be32_to_cpu(btree[i + 1].before);
>                         xfs_trans_brelse(*trans, bp);
>                 }
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/fs/xfs/xfs_attr_inactive.c
+++ b/fs/xfs/xfs_attr_inactive.c
@@ -302,6 +302,8 @@ 
                                                 &bp, XFS_ATTR_FORK);
                        if (error)
                                return error;
+                       node = bp->b_addr;
+                       btree = dp->d_ops->node_tree_p(node);
                        child_fsb = be32_to_cpu(btree[i + 1].before);
                        xfs_trans_brelse(*trans, bp);
                }