mirror of https://gitee.com/openkylin/linux.git
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: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
b4756d43a1
commit
a1c979f330
|
@ -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);
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
|
|
|
@ -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);
|
||||
|
||||
/*
|
||||
* 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
|
||||
* block. dm_bufio_write_dirty_buffers is needed to commit the new block.
|
||||
|
|
Loading…
Reference in New Issue