On Thu 11-05-17 18:52:06, Jan Kara wrote:
> The callback doesn't ever get called. Remove it.
Ping David?
Honza
>
> Signed-off-by: Jan Kara <[email protected]>
> ---
> Documentation/filesystems/caching/netfs-api.txt | 2 --
> fs/9p/cache.c | 29 -----------------
> fs/afs/cache.c | 43
> -------------------------
> fs/ceph/cache.c | 31 ------------------
> fs/cifs/cache.c | 31 ------------------
> fs/nfs/fscache-index.c | 40 -----------------------
> include/linux/fscache.h | 9 ------
> 7 files changed, 185 deletions(-)
>
> David, am I missing something or is it really dead code?
>
> diff --git a/Documentation/filesystems/caching/netfs-api.txt
> b/Documentation/filesystems/caching/netfs-api.txt
> index aed6b94160b1..0eb31de3a2c1 100644
> --- a/Documentation/filesystems/caching/netfs-api.txt
> +++ b/Documentation/filesystems/caching/netfs-api.txt
> @@ -151,8 +151,6 @@ To define an object, a structure of the following type
> should be filled out:
> void (*mark_pages_cached)(void *cookie_netfs_data,
> struct address_space *mapping,
> struct pagevec *cached_pvec);
> -
> - void (*now_uncached)(void *cookie_netfs_data);
> };
>
> This has the following fields:
> diff --git a/fs/9p/cache.c b/fs/9p/cache.c
> index 103ca5e1267b..64c58eb26159 100644
> --- a/fs/9p/cache.c
> +++ b/fs/9p/cache.c
> @@ -151,34 +151,6 @@ fscache_checkaux v9fs_cache_inode_check_aux(void
> *cookie_netfs_data,
> return FSCACHE_CHECKAUX_OKAY;
> }
>
> -static void v9fs_cache_inode_now_uncached(void *cookie_netfs_data)
> -{
> - struct v9fs_inode *v9inode = cookie_netfs_data;
> - struct pagevec pvec;
> - pgoff_t first;
> - int loop, nr_pages;
> -
> - pagevec_init(&pvec, 0);
> - first = 0;
> -
> - for (;;) {
> - nr_pages = pagevec_lookup(&pvec, v9inode->vfs_inode.i_mapping,
> - first,
> - PAGEVEC_SIZE - pagevec_count(&pvec));
> - if (!nr_pages)
> - break;
> -
> - for (loop = 0; loop < nr_pages; loop++)
> - ClearPageFsCache(pvec.pages[loop]);
> -
> - first = pvec.pages[nr_pages - 1]->index + 1;
> -
> - pvec.nr = nr_pages;
> - pagevec_release(&pvec);
> - cond_resched();
> - }
> -}
> -
> const struct fscache_cookie_def v9fs_cache_inode_index_def = {
> .name = "9p.inode",
> .type = FSCACHE_COOKIE_TYPE_DATAFILE,
> @@ -186,7 +158,6 @@ const struct fscache_cookie_def
> v9fs_cache_inode_index_def = {
> .get_attr = v9fs_cache_inode_get_attr,
> .get_aux = v9fs_cache_inode_get_aux,
> .check_aux = v9fs_cache_inode_check_aux,
> - .now_uncached = v9fs_cache_inode_now_uncached,
> };
>
> void v9fs_cache_inode_get_cookie(struct inode *inode)
> diff --git a/fs/afs/cache.c b/fs/afs/cache.c
> index 577763c3d88b..1fe855191261 100644
> --- a/fs/afs/cache.c
> +++ b/fs/afs/cache.c
> @@ -39,7 +39,6 @@ static uint16_t afs_vnode_cache_get_aux(const void
> *cookie_netfs_data,
> static enum fscache_checkaux afs_vnode_cache_check_aux(void
> *cookie_netfs_data,
> const void *buffer,
> uint16_t buflen);
> -static void afs_vnode_cache_now_uncached(void *cookie_netfs_data);
>
> struct fscache_netfs afs_cache_netfs = {
> .name = "afs",
> @@ -75,7 +74,6 @@ struct fscache_cookie_def afs_vnode_cache_index_def = {
> .get_attr = afs_vnode_cache_get_attr,
> .get_aux = afs_vnode_cache_get_aux,
> .check_aux = afs_vnode_cache_check_aux,
> - .now_uncached = afs_vnode_cache_now_uncached,
> };
>
> /*
> @@ -359,44 +357,3 @@ static enum fscache_checkaux
> afs_vnode_cache_check_aux(void *cookie_netfs_data,
> _leave(" = SUCCESS");
> return FSCACHE_CHECKAUX_OKAY;
> }
> -
> -/*
> - * indication the cookie is no longer uncached
> - * - this function is called when the backing store currently caching a
> cookie
> - * is removed
> - * - the netfs should use this to clean up any markers indicating cached
> pages
> - * - this is mandatory for any object that may have data
> - */
> -static void afs_vnode_cache_now_uncached(void *cookie_netfs_data)
> -{
> - struct afs_vnode *vnode = cookie_netfs_data;
> - struct pagevec pvec;
> - pgoff_t first;
> - int loop, nr_pages;
> -
> - _enter("{%x,%x,%Lx}",
> - vnode->fid.vnode, vnode->fid.unique, vnode->status.data_version);
> -
> - pagevec_init(&pvec, 0);
> - first = 0;
> -
> - for (;;) {
> - /* grab a bunch of pages to clean */
> - nr_pages = pagevec_lookup(&pvec, vnode->vfs_inode.i_mapping,
> - first,
> - PAGEVEC_SIZE - pagevec_count(&pvec));
> - if (!nr_pages)
> - break;
> -
> - for (loop = 0; loop < nr_pages; loop++)
> - ClearPageFsCache(pvec.pages[loop]);
> -
> - first = pvec.pages[nr_pages - 1]->index + 1;
> -
> - pvec.nr = nr_pages;
> - pagevec_release(&pvec);
> - cond_resched();
> - }
> -
> - _leave("");
> -}
> diff --git a/fs/ceph/cache.c b/fs/ceph/cache.c
> index 4e7421caf380..edb86ac34051 100644
> --- a/fs/ceph/cache.c
> +++ b/fs/ceph/cache.c
> @@ -137,36 +137,6 @@ static enum fscache_checkaux
> ceph_fscache_inode_check_aux(
> return FSCACHE_CHECKAUX_OKAY;
> }
>
> -static void ceph_fscache_inode_now_uncached(void* cookie_netfs_data)
> -{
> - struct ceph_inode_info* ci = cookie_netfs_data;
> - struct pagevec pvec;
> - pgoff_t first;
> - int loop, nr_pages;
> -
> - pagevec_init(&pvec, 0);
> - first = 0;
> -
> - dout("ceph inode 0x%p now uncached", ci);
> -
> - while (1) {
> - nr_pages = pagevec_lookup(&pvec, ci->vfs_inode.i_mapping, first,
> - PAGEVEC_SIZE - pagevec_count(&pvec));
> -
> - if (!nr_pages)
> - break;
> -
> - for (loop = 0; loop < nr_pages; loop++)
> - ClearPageFsCache(pvec.pages[loop]);
> -
> - first = pvec.pages[nr_pages - 1]->index + 1;
> -
> - pvec.nr = nr_pages;
> - pagevec_release(&pvec);
> - cond_resched();
> - }
> -}
> -
> static const struct fscache_cookie_def ceph_fscache_inode_object_def = {
> .name = "CEPH.inode",
> .type = FSCACHE_COOKIE_TYPE_DATAFILE,
> @@ -174,7 +144,6 @@ static const struct fscache_cookie_def
> ceph_fscache_inode_object_def = {
> .get_attr = ceph_fscache_inode_get_attr,
> .get_aux = ceph_fscache_inode_get_aux,
> .check_aux = ceph_fscache_inode_check_aux,
> - .now_uncached = ceph_fscache_inode_now_uncached,
> };
>
> void ceph_fscache_register_inode_cookie(struct inode *inode)
> diff --git a/fs/cifs/cache.c b/fs/cifs/cache.c
> index 6c665bf4a27c..2c14020e5e1d 100644
> --- a/fs/cifs/cache.c
> +++ b/fs/cifs/cache.c
> @@ -292,36 +292,6 @@ fscache_checkaux cifs_fscache_inode_check_aux(void
> *cookie_netfs_data,
> return FSCACHE_CHECKAUX_OKAY;
> }
>
> -static void cifs_fscache_inode_now_uncached(void *cookie_netfs_data)
> -{
> - struct cifsInodeInfo *cifsi = cookie_netfs_data;
> - struct pagevec pvec;
> - pgoff_t first;
> - int loop, nr_pages;
> -
> - pagevec_init(&pvec, 0);
> - first = 0;
> -
> - cifs_dbg(FYI, "%s: cifs inode 0x%p now uncached\n", __func__, cifsi);
> -
> - for (;;) {
> - nr_pages = pagevec_lookup(&pvec,
> - cifsi->vfs_inode.i_mapping, first,
> - PAGEVEC_SIZE - pagevec_count(&pvec));
> - if (!nr_pages)
> - break;
> -
> - for (loop = 0; loop < nr_pages; loop++)
> - ClearPageFsCache(pvec.pages[loop]);
> -
> - first = pvec.pages[nr_pages - 1]->index + 1;
> -
> - pvec.nr = nr_pages;
> - pagevec_release(&pvec);
> - cond_resched();
> - }
> -}
> -
> const struct fscache_cookie_def cifs_fscache_inode_object_def = {
> .name = "CIFS.uniqueid",
> .type = FSCACHE_COOKIE_TYPE_DATAFILE,
> @@ -329,5 +299,4 @@ const struct fscache_cookie_def
> cifs_fscache_inode_object_def = {
> .get_attr = cifs_fscache_inode_get_attr,
> .get_aux = cifs_fscache_inode_get_aux,
> .check_aux = cifs_fscache_inode_check_aux,
> - .now_uncached = cifs_fscache_inode_now_uncached,
> };
> diff --git a/fs/nfs/fscache-index.c b/fs/nfs/fscache-index.c
> index 777b055063f6..3025fe8584a0 100644
> --- a/fs/nfs/fscache-index.c
> +++ b/fs/nfs/fscache-index.c
> @@ -252,45 +252,6 @@ enum fscache_checkaux nfs_fscache_inode_check_aux(void
> *cookie_netfs_data,
> }
>
> /*
> - * Indication from FS-Cache that the cookie is no longer cached
> - * - This function is called when the backing store currently caching a
> cookie
> - * is removed
> - * - The netfs should use this to clean up any markers indicating cached
> pages
> - * - This is mandatory for any object that may have data
> - */
> -static void nfs_fscache_inode_now_uncached(void *cookie_netfs_data)
> -{
> - struct nfs_inode *nfsi = cookie_netfs_data;
> - struct pagevec pvec;
> - pgoff_t first;
> - int loop, nr_pages;
> -
> - pagevec_init(&pvec, 0);
> - first = 0;
> -
> - dprintk("NFS: nfs_inode_now_uncached: nfs_inode 0x%p\n", nfsi);
> -
> - for (;;) {
> - /* grab a bunch of pages to unmark */
> - nr_pages = pagevec_lookup(&pvec,
> - nfsi->vfs_inode.i_mapping,
> - first,
> - PAGEVEC_SIZE - pagevec_count(&pvec));
> - if (!nr_pages)
> - break;
> -
> - for (loop = 0; loop < nr_pages; loop++)
> - ClearPageFsCache(pvec.pages[loop]);
> -
> - first = pvec.pages[nr_pages - 1]->index + 1;
> -
> - pvec.nr = nr_pages;
> - pagevec_release(&pvec);
> - cond_resched();
> - }
> -}
> -
> -/*
> * Get an extra reference on a read context.
> * - This function can be absent if the completion function doesn't require a
> * context.
> @@ -330,7 +291,6 @@ const struct fscache_cookie_def
> nfs_fscache_inode_object_def = {
> .get_attr = nfs_fscache_inode_get_attr,
> .get_aux = nfs_fscache_inode_get_aux,
> .check_aux = nfs_fscache_inode_check_aux,
> - .now_uncached = nfs_fscache_inode_now_uncached,
> .get_context = nfs_fh_get_context,
> .put_context = nfs_fh_put_context,
> };
> diff --git a/include/linux/fscache.h b/include/linux/fscache.h
> index 115bb81912cc..f4ff47d4a893 100644
> --- a/include/linux/fscache.h
> +++ b/include/linux/fscache.h
> @@ -143,15 +143,6 @@ struct fscache_cookie_def {
> void (*mark_page_cached)(void *cookie_netfs_data,
> struct address_space *mapping,
> struct page *page);
> -
> - /* indicate the cookie is no longer cached
> - * - this function is called when the backing store currently caching
> - * a cookie is removed
> - * - the netfs should use this to clean up any markers indicating
> - * cached pages
> - * - this is mandatory for any object that may have data
> - */
> - void (*now_uncached)(void *cookie_netfs_data);
> };
>
> /*
> --
> 2.12.0
>
--
Jan Kara <[email protected]>
SUSE Labs, CR
--
Linux-cachefs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-cachefs