Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 818e010b authored by David Sterba's avatar David Sterba
Browse files

btrfs: replace opencoded kvzalloc with the helper



The logic of kmalloc and vmalloc fallback is opencoded in
several places, we can now use the existing helper.

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 1e9d7291
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@
#include <linux/mutex.h>
#include <linux/genhd.h>
#include <linux/blkdev.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <linux/string.h>
#include "ctree.h"
#include "disk-io.h"
@@ -2920,14 +2920,11 @@ int btrfsic_mount(struct btrfs_fs_info *fs_info,
		       fs_info->sectorsize, PAGE_SIZE);
		return -1;
	}
	state = kzalloc(sizeof(*state), GFP_KERNEL | __GFP_NOWARN | __GFP_REPEAT);
	state = kvzalloc(sizeof(*state), GFP_KERNEL);
	if (!state) {
		state = vzalloc(sizeof(*state));
		if (!state) {
			pr_info("btrfs check-integrity: vzalloc() failed!\n");
		pr_info("btrfs check-integrity: allocation failed!\n");
		return -1;
	}
	}

	if (!btrfsic_is_initialized) {
		mutex_init(&btrfsic_mutex);
+4 −7
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@
#include <linux/hash.h>
#include <linux/list_sort.h>
#include <linux/raid/xor.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <asm/div64.h>
#include "ctree.h"
#include "extent_map.h"
@@ -218,12 +218,9 @@ int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info)
	 * of a failing mount.
	 */
	table_size = sizeof(*table) + sizeof(*h) * num_entries;
	table = kzalloc(table_size, GFP_KERNEL | __GFP_NOWARN | __GFP_REPEAT);
	if (!table) {
		table = vzalloc(table_size);
	table = kvzalloc(table_size, GFP_KERNEL);
	if (!table)
		return -ENOMEM;
	}

	spin_lock_init(&table->cache_lock);
	INIT_LIST_HEAD(&table->stripe_cache);
+3 −6
Original line number Diff line number Diff line
@@ -6389,14 +6389,11 @@ long btrfs_ioctl_send(struct file *mnt_file, void __user *arg_)

	alloc_size = sizeof(struct clone_root) * (arg->clone_sources_count + 1);

	sctx->clone_roots = kzalloc(alloc_size, GFP_KERNEL | __GFP_NOWARN);
	if (!sctx->clone_roots) {
		sctx->clone_roots = vzalloc(alloc_size);
	sctx->clone_roots = kzalloc(alloc_size, GFP_KERNEL);
	if (!sctx->clone_roots) {
		ret = -ENOMEM;
		goto out;
	}
	}

	alloc_size = arg->clone_sources_count * sizeof(*arg->clone_sources);