]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
xfs: Kill filestreams cache flush
authorDave Chinner <david@fromorbit.com>
Mon, 11 Jan 2010 11:47:47 +0000 (11:47 +0000)
committerAlex Elder <aelder@sgi.com>
Fri, 15 Jan 2010 21:34:22 +0000 (15:34 -0600)
The filestreams cache flush is not needed in the sync code as it
does not affect data writeback, and it is now not used by the growfs
code, either, so kill it.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/linux-2.6/xfs_sync.c
fs/xfs/xfs_filestream.c
fs/xfs/xfs_filestream.h
fs/xfs/xfs_mru_cache.c
fs/xfs/xfs_mru_cache.h

index cc964faf12e91cda6c7fe2696b774364bc5049e8..b58f8412dfe2a9f8c2ee53b1ddddeda4771779d1 100644 (file)
@@ -451,9 +451,6 @@ xfs_quiesce_data(
        xfs_sync_data(mp, SYNC_WAIT);
        xfs_qm_sync(mp, SYNC_WAIT);
 
-       /* drop inode references pinned by filestreams */
-       xfs_filestream_flush(mp);
-
        /* write superblock and hoover up shutdown errors */
        error = xfs_sync_fsdata(mp, SYNC_WAIT);
 
index 914d00d0f1197b8c72124504681904c19e34f9ee..390850ee6603922651e9ceebfc0f160ce7ff9495 100644 (file)
@@ -454,20 +454,6 @@ xfs_filestream_unmount(
        xfs_mru_cache_destroy(mp->m_filestream);
 }
 
-/*
- * If the mount point's m_perag tree is going to be modified, all
- * outstanding cache entries must be flushed to avoid accessing reference count
- * addresses that have been freed.  The call to xfs_filestream_flush() must be
- * made inside the block that holds the m_perag_lock in write mode to do the
- * reallocation.
- */
-void
-xfs_filestream_flush(
-       xfs_mount_t     *mp)
-{
-       xfs_mru_cache_flush(mp->m_filestream);
-}
-
 /*
  * Return the AG of the filestream the file or directory belongs to, or
  * NULLAGNUMBER otherwise.
index 58378b2ea033594af2ac7556ada27d95e77f096a..260f757bbc5dd0dcea68e6fc6f0200cf2548e930 100644 (file)
@@ -135,7 +135,6 @@ int xfs_filestream_init(void);
 void xfs_filestream_uninit(void);
 int xfs_filestream_mount(struct xfs_mount *mp);
 void xfs_filestream_unmount(struct xfs_mount *mp);
-void xfs_filestream_flush(struct xfs_mount *mp);
 xfs_agnumber_t xfs_filestream_lookup_ag(struct xfs_inode *ip);
 int xfs_filestream_associate(struct xfs_inode *dip, struct xfs_inode *ip);
 void xfs_filestream_deassociate(struct xfs_inode *ip);
index 4b0613d99faa9f70533df36ff2c8834535181313..45ce15dc5b2b05a7447e6ad2a9834dd0bf5b6dec 100644 (file)
@@ -398,7 +398,7 @@ exit:
  * guaranteed that all the free functions for all the elements have finished
  * executing and the reaper is not running.
  */
-void
+static void
 xfs_mru_cache_flush(
        xfs_mru_cache_t         *mru)
 {
index 5d439f34b0c9bf68ee84e22f7535c0fc0aa4a57d..36dd3ec8b4eb17fdbdf83dfd8496e46a1409c30b 100644 (file)
@@ -42,7 +42,6 @@ void xfs_mru_cache_uninit(void);
 int xfs_mru_cache_create(struct xfs_mru_cache **mrup, unsigned int lifetime_ms,
                             unsigned int grp_count,
                             xfs_mru_cache_free_func_t free_func);
-void xfs_mru_cache_flush(xfs_mru_cache_t *mru);
 void xfs_mru_cache_destroy(struct xfs_mru_cache *mru);
 int xfs_mru_cache_insert(struct xfs_mru_cache *mru, unsigned long key,
                                void *value);