Commit a1c979f3 authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Mike Snitzer

dm bufio: delete unused and inefficient dm_bufio_discard_buffers

There is no user for this interface.  If in future it is needed it can
be reimplemented to walk the rbtree of buffers instead of doing
block-by-block lookups.
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent b4756d43
...@@ -1358,32 +1358,6 @@ int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t c ...@@ -1358,32 +1358,6 @@ int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t c
} }
EXPORT_SYMBOL_GPL(dm_bufio_issue_discard); EXPORT_SYMBOL_GPL(dm_bufio_issue_discard);
/*
* Free the specified range of buffers. If a buffer is held by other process, it
* is not freed. If a buffer is dirty, it is discarded without writeback.
* Finally, send the discard request to the device.
*/
int dm_bufio_discard_buffers(struct dm_bufio_client *c, sector_t block, sector_t count)
{
sector_t i;
for (i = block; i < block + count; i++) {
struct dm_buffer *b;
dm_bufio_lock(c);
b = __find(c, i);
if (b && likely(!b->hold_count)) {
wait_on_bit_io(&b->state, B_READING, TASK_UNINTERRUPTIBLE);
wait_on_bit_io(&b->state, B_WRITING, TASK_UNINTERRUPTIBLE);
__unlink_buffer(b);
__free_buffer_wake(b);
}
dm_bufio_unlock(c);
}
return dm_bufio_issue_discard(c, block, count);
}
EXPORT_SYMBOL_GPL(dm_bufio_discard_buffers);
/* /*
* We first delete any other buffer that may be at that new location. * We first delete any other buffer that may be at that new location.
* *
......
...@@ -123,13 +123,6 @@ int dm_bufio_issue_flush(struct dm_bufio_client *c); ...@@ -123,13 +123,6 @@ int dm_bufio_issue_flush(struct dm_bufio_client *c);
*/ */
int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t count); int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t count);
/*
* Free the specified range of buffers. If a buffer is held by other process, it
* is not freed. If a buffer is dirty, it is discarded without writeback.
* Finally, send the discard request to the device.
*/
int dm_bufio_discard_buffers(struct dm_bufio_client *c, sector_t block, sector_t count);
/* /*
* Like dm_bufio_release but also move the buffer to the new * Like dm_bufio_release but also move the buffer to the new
* block. dm_bufio_write_dirty_buffers is needed to commit the new block. * block. dm_bufio_write_dirty_buffers is needed to commit the new block.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment