dm: add bufio
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 31 Oct 2011 20:19:09 +0000 (20:19 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Mon, 31 Oct 2011 20:19:09 +0000 (20:19 +0000)
commit95d402f057f2e208e4631893f6cd4a59c7c05e41
tree4edb6c01f62689617ee3098104c135ef2c43f0e2
parent3cf2e4ba74ca1bf5d8ad26cd18592f02b32964f5
dm: add bufio

The dm-bufio interface allows you to do cached I/O on devices,
holding recently-read blocks in memory and performing delayed writes.

We don't use buffer cache or page cache already present in the kernel, because:
* we need to handle block sizes larger than a page
* we can't allocate memory to perform reads or we'd have deadlocks

Currently, when a cache is required, we limit its size to a fraction of
available memory.  Usage can be viewed and changed in
/sys/module/dm_bufio/parameters/ .

The first user is thin provisioning, but more dm users are planned.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/Kconfig
drivers/md/Makefile
drivers/md/dm-bufio.c [new file with mode: 0644]
drivers/md/dm-bufio.h [new file with mode: 0644]