]> rtime.felk.cvut.cz Git - lisovros/linux_canprio.git/commitdiff
xfs: remove explicit xfs_sync_data/xfs_sync_attr calls on umount
authorChristoph Hellwig <hch@infradead.org>
Thu, 24 Jun 2010 01:45:34 +0000 (11:45 +1000)
committerAlex Elder <aelder@sgi.com>
Mon, 26 Jul 2010 18:16:42 +0000 (13:16 -0500)
On the final put of a superblock the VFS already calls sync_filesystem
for us to write out all data and wait for it.  No need to start another
asynchronous writeback inside ->put_super.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/linux-2.6/xfs_super.c
fs/xfs/linux-2.6/xfs_sync.c
fs/xfs/linux-2.6/xfs_sync.h

index 9a72c05b6177c50f33a2c682246a7e599d14a510..0ac1df74341f0159a185880ff93260f409e46ecc 100644 (file)
@@ -1146,18 +1146,6 @@ xfs_fs_put_super(
 
        xfs_syncd_stop(mp);
 
-       if (!(sb->s_flags & MS_RDONLY)) {
-               /*
-                * XXX(hch): this should be SYNC_WAIT.
-                *
-                * Or more likely not needed at all because the VFS is already
-                * calling ->sync_fs after shutting down all filestem
-                * operations and just before calling ->put_super.
-                */
-               xfs_sync_data(mp, 0);
-               xfs_sync_attr(mp, 0);
-       }
-
        /*
         * Blow away any referenced inode in the filestreams cache.
         * This can and will cause log traffic as inodes go inactive
index 0283b88bc16c022e35f0111500721788ae4b9c0e..66cefb2743859511a1bcd9380546865881a4eacb 100644 (file)
@@ -308,7 +308,7 @@ xfs_sync_inode_attr(
 /*
  * Write out pagecache data for the whole filesystem.
  */
-int
+STATIC int
 xfs_sync_data(
        struct xfs_mount        *mp,
        int                     flags)
@@ -329,7 +329,7 @@ xfs_sync_data(
 /*
  * Write out inode metadata (attributes) for the whole filesystem.
  */
-int
+STATIC int
 xfs_sync_attr(
        struct xfs_mount        *mp,
        int                     flags)
index e28139aaa4aa42c6085100856345e0156a33eef3..fe78726196f8200cd777298e82560f12f180e23c 100644 (file)
@@ -35,9 +35,6 @@ typedef struct xfs_sync_work {
 int xfs_syncd_init(struct xfs_mount *mp);
 void xfs_syncd_stop(struct xfs_mount *mp);
 
-int xfs_sync_attr(struct xfs_mount *mp, int flags);
-int xfs_sync_data(struct xfs_mount *mp, int flags);
-
 int xfs_quiesce_data(struct xfs_mount *mp);
 void xfs_quiesce_attr(struct xfs_mount *mp);