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

Reply via email to