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

Commit 51039cd0 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by NeilBrown
Browse files

raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta



This is the only user, and keeping all code initializing the io_unit
structure together improves readbility.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarShaohua Li <shli@fb.com>
Signed-off-by: default avatarNeilBrown <neilb@suse.com>
parent 1e932a37
Loading
Loading
Loading
Loading
+8 −18
Original line number Diff line number Diff line
@@ -150,23 +150,6 @@ static bool r5l_has_free_space(struct r5l_log *log, sector_t size)
	return log->device_size > used_size + size;
}

static struct r5l_io_unit *r5l_alloc_io_unit(struct r5l_log *log)
{
	struct r5l_io_unit *io;
	/* We can't handle memory allocate failure so far */
	gfp_t gfp = GFP_NOIO | __GFP_NOFAIL;

	io = kmem_cache_zalloc(log->io_kc, gfp);
	io->log = log;
	io->meta_page = alloc_page(gfp | __GFP_ZERO);

	bio_list_init(&io->bios);
	INIT_LIST_HEAD(&io->log_sibling);
	INIT_LIST_HEAD(&io->stripe_list);
	io->state = IO_UNIT_RUNNING;
	return io;
}

static void r5l_free_io_unit(struct r5l_log *log, struct r5l_io_unit *io)
{
	__free_page(io->meta_page);
@@ -293,8 +276,15 @@ static struct r5l_io_unit *r5l_new_meta(struct r5l_log *log)
	struct r5l_io_unit *io;
	struct r5l_meta_block *block;

	io = r5l_alloc_io_unit(log);
	/* We can't handle memory allocate failure so far */
	io = kmem_cache_zalloc(log->io_kc, GFP_NOIO | __GFP_NOFAIL);
	io->log = log;
	bio_list_init(&io->bios);
	INIT_LIST_HEAD(&io->log_sibling);
	INIT_LIST_HEAD(&io->stripe_list);
	io->state = IO_UNIT_RUNNING;

	io->meta_page = alloc_page(GFP_NOIO | __GFP_NOFAIL | __GFP_ZERO);
	block = page_address(io->meta_page);
	block->magic = cpu_to_le32(R5LOG_MAGIC);
	block->version = R5LOG_VERSION;