diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2017-01-09 10:38:59 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-12 05:39:44 -0500 |
commit | aa38f370b25acc478be36e237e882e78f71c67e5 (patch) | |
tree | 38da9850c443ba9531ea12986dbecc7021ee0b5c /fs | |
parent | 3c382dda47e4b51de6d67847ddfc9c10962c4ca3 (diff) |
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>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/libxfs/xfs_alloc_btree.c | 2 | ||||
-rw-r--r-- | fs/xfs/libxfs/xfs_bmap_btree.c | 2 | ||||
-rw-r--r-- | fs/xfs/libxfs/xfs_ialloc_btree.c | 2 |
3 files changed, 3 insertions, 3 deletions
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( | |||
421 | 421 | ||
422 | ASSERT(btnum == XFS_BTNUM_BNO || btnum == XFS_BTNUM_CNT); | 422 | ASSERT(btnum == XFS_BTNUM_BNO || btnum == XFS_BTNUM_CNT); |
423 | 423 | ||
424 | cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); | 424 | cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS); |
425 | 425 | ||
426 | cur->bc_tp = tp; | 426 | cur->bc_tp = tp; |
427 | cur->bc_mp = mp; | 427 | cur->bc_mp = mp; |
diff --git a/fs/xfs/libxfs/xfs_bmap_btree.c b/fs/xfs/libxfs/xfs_bmap_btree.c index 8007d2ba9aef..049fa597ae91 100644 --- a/fs/xfs/libxfs/xfs_bmap_btree.c +++ b/fs/xfs/libxfs/xfs_bmap_btree.c | |||
@@ -796,7 +796,7 @@ xfs_bmbt_init_cursor( | |||
796 | struct xfs_btree_cur *cur; | 796 | struct xfs_btree_cur *cur; |
797 | ASSERT(whichfork != XFS_COW_FORK); | 797 | ASSERT(whichfork != XFS_COW_FORK); |
798 | 798 | ||
799 | cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); | 799 | cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS); |
800 | 800 | ||
801 | cur->bc_tp = tp; | 801 | cur->bc_tp = tp; |
802 | cur->bc_mp = mp; | 802 | cur->bc_mp = mp; |
diff --git a/fs/xfs/libxfs/xfs_ialloc_btree.c b/fs/xfs/libxfs/xfs_ialloc_btree.c index eab68ae2e011..6c6b95947e71 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( | |||
357 | struct xfs_agi *agi = XFS_BUF_TO_AGI(agbp); | 357 | struct xfs_agi *agi = XFS_BUF_TO_AGI(agbp); |
358 | struct xfs_btree_cur *cur; | 358 | struct xfs_btree_cur *cur; |
359 | 359 | ||
360 | cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); | 360 | cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_NOFS); |
361 | 361 | ||
362 | cur->bc_tp = tp; | 362 | cur->bc_tp = tp; |
363 | cur->bc_mp = mp; | 363 | cur->bc_mp = mp; |