| From c5c47368d399876fc3a1e166ff4b17b55973357a Mon Sep 17 00:00:00 2001 |
| From: "Darrick J. Wong" <darrick.wong@oracle.com> |
| Date: Fri, 9 Dec 2016 16:49:54 +1100 |
| Subject: [PATCH] xfs: use GPF_NOFS when allocating btree cursors |
| |
| commit b24a978c377be5f14e798cb41238e66fe51aab2f upstream. |
| |
| Use NOFS for allocating btree cursors, since they can be called |
| under the ilock. |
| |
| Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> |
| Reviewed-by: Dave Chinner <dchinner@redhat.com> |
| Signed-off-by: Dave Chinner <david@fromorbit.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/fs/xfs/libxfs/xfs_alloc_btree.c b/fs/xfs/libxfs/xfs_alloc_btree.c |
| index 5ba2dac5e67c..c06ec77a9418 100644 |
| --- a/fs/xfs/libxfs/xfs_alloc_btree.c |
| +++ b/fs/xfs/libxfs/xfs_alloc_btree.c |
| @@ -421,7 +421,7 @@ xfs_allocbt_init_cursor( |
| |
| ASSERT(btnum == XFS_BTNUM_BNO || btnum == XFS_BTNUM_CNT); |
| |
| - cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); |
| + cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS); |
| |
| cur->bc_tp = tp; |
| cur->bc_mp = mp; |
| diff --git a/fs/xfs/libxfs/xfs_bmap_btree.c b/fs/xfs/libxfs/xfs_bmap_btree.c |
| index cd85274e810c..d4ad9fcb89f7 100644 |
| --- a/fs/xfs/libxfs/xfs_bmap_btree.c |
| +++ b/fs/xfs/libxfs/xfs_bmap_btree.c |
| @@ -778,7 +778,7 @@ xfs_bmbt_init_cursor( |
| struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); |
| struct xfs_btree_cur *cur; |
| |
| - cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); |
| + cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS); |
| |
| cur->bc_tp = tp; |
| cur->bc_mp = mp; |
| diff --git a/fs/xfs/libxfs/xfs_ialloc_btree.c b/fs/xfs/libxfs/xfs_ialloc_btree.c |
| index 31ca2208c03d..77131d7b2293 100644 |
| --- a/fs/xfs/libxfs/xfs_ialloc_btree.c |
| +++ b/fs/xfs/libxfs/xfs_ialloc_btree.c |
| @@ -357,7 +357,7 @@ xfs_inobt_init_cursor( |
| struct xfs_agi *agi = XFS_BUF_TO_AGI(agbp); |
| struct xfs_btree_cur *cur; |
| |
| - cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); |
| + cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS); |
| |
| cur->bc_tp = tp; |
| cur->bc_mp = mp; |
| -- |
| 2.10.1 |
| |