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

Commit 24d0cad2 authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Martijn Coenen
Browse files

BACKPORT: dm bufio: call adjust_total_allocated from __link_buffer and __unlink_buffer



Move the call to adjust_total_allocated() to __link_buffer() and
__unlink_buffer() so that only used buffers are counted.  Reserved
buffers are not.

Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
(cherry picked from commit 26d2ef0cd0f7c12aa331b502c1c1460b85ebd04f)

Bug: 136247322
Change-Id: Ia47e99082a4c1a2acf5f5b5aab1a21fd8b6300df
Signed-off-by: default avatarMartijn Coenen <maco@android.com>
parent bba6a59f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -453,8 +453,6 @@ static struct dm_buffer *alloc_buffer(struct dm_bufio_client *c, gfp_t gfp_mask)
		return NULL;
	}

	adjust_total_allocated(b->data_mode, (long)c->block_size);

#ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING
	memset(&b->stack_trace, 0, sizeof(b->stack_trace));
#endif
@@ -468,8 +466,6 @@ static void free_buffer(struct dm_buffer *b)
{
	struct dm_bufio_client *c = b->c;

	adjust_total_allocated(b->data_mode, -(long)c->block_size);

	free_buffer_data(c, b->data, b->data_mode);
	kfree(b);
}
@@ -487,6 +483,8 @@ static void __link_buffer(struct dm_buffer *b, sector_t block, int dirty)
	list_add(&b->lru_list, &c->lru[dirty]);
	__insert(b->c, b);
	b->last_accessed = jiffies;

	adjust_total_allocated(b->data_mode, (long)c->block_size);
}

/*
@@ -501,6 +499,8 @@ static void __unlink_buffer(struct dm_buffer *b)
	c->n_buffers[b->list_mode]--;
	__remove(b->c, b);
	list_del(&b->lru_list);

	adjust_total_allocated(b->data_mode, -(long)c->block_size);
}

/*