|
@@ -15,6 +15,7 @@
|
|
* along with this program; if not, write the Free Software Foundation,
|
|
* along with this program; if not, write the Free Software Foundation,
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
*/
|
|
|
|
+#include "xfs.h"
|
|
#include <linux/stddef.h>
|
|
#include <linux/stddef.h>
|
|
#include <linux/errno.h>
|
|
#include <linux/errno.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
@@ -31,7 +32,6 @@
|
|
#include <linux/kthread.h>
|
|
#include <linux/kthread.h>
|
|
#include <linux/migrate.h>
|
|
#include <linux/migrate.h>
|
|
#include <linux/backing-dev.h>
|
|
#include <linux/backing-dev.h>
|
|
-#include "xfs_linux.h"
|
|
|
|
|
|
|
|
STATIC kmem_zone_t *xfs_buf_zone;
|
|
STATIC kmem_zone_t *xfs_buf_zone;
|
|
STATIC kmem_shaker_t xfs_buf_shake;
|
|
STATIC kmem_shaker_t xfs_buf_shake;
|
|
@@ -1406,7 +1406,7 @@ xfs_alloc_bufhash(
|
|
btp->bt_hashshift = external ? 3 : 8; /* 8 or 256 buckets */
|
|
btp->bt_hashshift = external ? 3 : 8; /* 8 or 256 buckets */
|
|
btp->bt_hashmask = (1 << btp->bt_hashshift) - 1;
|
|
btp->bt_hashmask = (1 << btp->bt_hashshift) - 1;
|
|
btp->bt_hash = kmem_zalloc((1 << btp->bt_hashshift) *
|
|
btp->bt_hash = kmem_zalloc((1 << btp->bt_hashshift) *
|
|
- sizeof(xfs_bufhash_t), KM_SLEEP);
|
|
|
|
|
|
+ sizeof(xfs_bufhash_t), KM_SLEEP | KM_LARGE);
|
|
for (i = 0; i < (1 << btp->bt_hashshift); i++) {
|
|
for (i = 0; i < (1 << btp->bt_hashshift); i++) {
|
|
spin_lock_init(&btp->bt_hash[i].bh_lock);
|
|
spin_lock_init(&btp->bt_hash[i].bh_lock);
|
|
INIT_LIST_HEAD(&btp->bt_hash[i].bh_list);
|
|
INIT_LIST_HEAD(&btp->bt_hash[i].bh_list);
|