mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
NFS: Clean up page array initialisation/free
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
11d03d0a1e
commit
9332cf14e2
16
fs/nfs/dir.c
16
fs/nfs/dir.c
@ -199,20 +199,17 @@ static void nfs_grow_dtsize(struct nfs_readdir_descriptor *desc)
|
||||
nfs_set_dtsize(desc, desc->dtsize << 1);
|
||||
}
|
||||
|
||||
static void nfs_readdir_array_init(struct nfs_cache_array *array)
|
||||
{
|
||||
memset(array, 0, sizeof(struct nfs_cache_array));
|
||||
}
|
||||
|
||||
static void nfs_readdir_page_init_array(struct page *page, u64 last_cookie,
|
||||
u64 change_attr)
|
||||
{
|
||||
struct nfs_cache_array *array;
|
||||
|
||||
array = kmap_atomic(page);
|
||||
nfs_readdir_array_init(array);
|
||||
array->change_attr = change_attr;
|
||||
array->last_cookie = last_cookie;
|
||||
array->size = 0;
|
||||
array->page_full = 0;
|
||||
array->page_is_eof = 0;
|
||||
array->cookies_are_ordered = 1;
|
||||
kunmap_atomic(array);
|
||||
}
|
||||
@ -220,16 +217,15 @@ static void nfs_readdir_page_init_array(struct page *page, u64 last_cookie,
|
||||
/*
|
||||
* we are freeing strings created by nfs_add_to_readdir_array()
|
||||
*/
|
||||
static
|
||||
void nfs_readdir_clear_array(struct page *page)
|
||||
static void nfs_readdir_clear_array(struct page *page)
|
||||
{
|
||||
struct nfs_cache_array *array;
|
||||
int i;
|
||||
unsigned int i;
|
||||
|
||||
array = kmap_atomic(page);
|
||||
for (i = 0; i < array->size; i++)
|
||||
kfree(array->array[i].name);
|
||||
nfs_readdir_array_init(array);
|
||||
array->size = 0;
|
||||
kunmap_atomic(array);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user