mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 09:20:13 -04:00
libceph: remove ceph_put_page_vector()
ceph_put_page_vector() was paired with ceph_get_direct_page_vector(),
which was removed in commit 97a385e558 ("libceph: remove
ceph_get_direct_page_vector()"). Its only remaining caller,
finish_netfs_read(), uses it to put a page vector allocated with
iov_iter_get_pages_alloc2(), which is confusing. Open-code the
put_page() loop and kvfree() there instead.
The caller passed dirty = false, so this also removes the dead dirty
branch and with it a call to the deprecated set_page_dirty_lock().
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
committed by
Ilya Dryomov
parent
f374967fcd
commit
2a2f98e17e
@@ -255,9 +255,12 @@ static void finish_netfs_read(struct ceph_osd_request *req)
|
||||
}
|
||||
|
||||
if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) {
|
||||
ceph_put_page_vector(osd_data->pages,
|
||||
calc_pages_for(osd_data->alignment,
|
||||
osd_data->length), false);
|
||||
int num_pages = calc_pages_for(osd_data->alignment,
|
||||
osd_data->length);
|
||||
|
||||
for (int i = 0; i < num_pages; i++)
|
||||
put_page(osd_data->pages[i]);
|
||||
kvfree(osd_data->pages);
|
||||
}
|
||||
if (err > 0) {
|
||||
ceph_subvolume_metrics_record_io(fsc->mdsc, ceph_inode(inode),
|
||||
|
||||
@@ -313,8 +313,6 @@ int ceph_wait_for_latest_osdmap(struct ceph_client *client,
|
||||
|
||||
/* pagevec.c */
|
||||
extern void ceph_release_page_vector(struct page **pages, int num_pages);
|
||||
extern void ceph_put_page_vector(struct page **pages, int num_pages,
|
||||
bool dirty);
|
||||
extern struct page **ceph_alloc_page_vector(int num_pages, gfp_t flags);
|
||||
extern void ceph_copy_from_page_vector(struct page **pages,
|
||||
void *data,
|
||||
|
||||
@@ -10,19 +10,6 @@
|
||||
|
||||
#include <linux/ceph/libceph.h>
|
||||
|
||||
void ceph_put_page_vector(struct page **pages, int num_pages, bool dirty)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_pages; i++) {
|
||||
if (dirty)
|
||||
set_page_dirty_lock(pages[i]);
|
||||
put_page(pages[i]);
|
||||
}
|
||||
kvfree(pages);
|
||||
}
|
||||
EXPORT_SYMBOL(ceph_put_page_vector);
|
||||
|
||||
void ceph_release_page_vector(struct page **pages, int num_pages)
|
||||
{
|
||||
int i;
|
||||
|
||||
Reference in New Issue
Block a user