xfs: remove kmem_zalloc_greedy
authorDarrick J. Wong <darrick.wong@oracle.com>
Mon, 6 Mar 2017 19:58:20 +0000 (11:58 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 8 Mar 2017 04:10:50 +0000 (20:10 -0800)
commit08b005f1333154ae5b404ca28766e0ffb9f1c150
tree5179a760a440e2a62b4058b8811200234cd3c934
parentd5825712ee98d68a2c17bc89dad2c30276894cba
xfs: remove kmem_zalloc_greedy

The sole remaining caller of kmem_zalloc_greedy is bulkstat, which uses
it to grab 1-4 pages for staging of inobt records.  The infinite loop in
the greedy allocation function is causing hangs[1] in generic/269, so
just get rid of the greedy allocator in favor of kmem_zalloc_large.
This makes bulkstat somewhat more likely to ENOMEM if there's really no
pages to spare, but eliminates a source of hangs.

[1] http://lkml.kernel.org/r/20170301044634.rgidgdqqiiwsmfpj%40XZHOUW.usersys.redhat.com

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
v2: remove single-page fallback
fs/xfs/kmem.c
fs/xfs/kmem.h
fs/xfs/xfs_itable.c